组下标越界的时候，数据会被写入其它变量的空间，甚至会覆盖压栈的寄存器数值。这样一来，程序可能会崩溃，或者是导致一些安全漏洞的产生（见缓冲区溢出）。在Java中，Java虚拟机将在尝试访问数组中的元素的时候，自动的进行数组边界检查，并且在下标越界的时候引发异常。范围检查的另一个常见用途是在两种数据类型相互转换的时候。在构建在.NET Framework上的语言中，超出范围的强制转换将引发InvalidCastException类型的异常。比如将一个32位有符号整数类型的变量强制转换到一个16位有符号整