【摘要】:运行时异常是程序在执行过程中出现错误的调用而抛出的异常,这种异常都可以在编写时避免,而编译器也不要求对可能抛出运行时异常的代码段强制加上try语句。下面看几种常见的运行时异常。运行结果如下:divisor can not be 0例子中用try/catch进行了代码运行和异常捕获,try语句块的意思是执行代码,catch语句块的意思是对try中的代码异常进行处理。Java的这种运行时异常有很多种,例如数组越界异常、类型转换异常等。
运行时异常是程序在执行过程中出现错误的调用而抛出的异常,这种异常都可以在编写时避免,而编译器也不要求对可能抛出运行时异常的代码段强制加上try语句。下面看几种常见的运行时异常。
运行结果如下:
用一个整数除以0在算术上是明显错误的,但是这个问题编译器目前是不会报错的,只会在执行时抛出一个异常,异常包含错误的类型和代码的位置,可以很容易地找到出问题的地方并且优化。下面用异常捕获来处理这段代码。
㊀异常发生后,后面的语句不会执行。
运行结果如下:
divisor can not be 0
例子中用try/catch进行了代码运行和异常捕获,try语句块的意思是执行代码,catch语句块的意思是对try中的代码异常进行处理。当然这里只作为演示,实际项目中一般还是先用if语句判断除数是否为0,为0则直接进行提示或者其他的处理,而不用异常捕获来进行处理,这样就避免了运行时异常。(www.xing528.com)
下面代码演示空引用异常:
运行结果如下:
这种空异常的避免办法一般也是在调用前对不确定是否已经初始化的对象进行非空判断,从而避免这种异常。
下面代码演示常见的List异常。
运行结果如下:
这种情况,在for循环遍历过程中移除List元素是非常危险的,如何避免请参看1.6节。Java的这种运行时异常有很多种,例如数组越界异常、类型转换异常等。异常的处理不是背出来的,在实际的代码中去解决异常才是最快的学习方法,本书附带的代码中包含了其他异常的几种情况,读者可以尝试模拟、处理和避免运行时异常。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。