关于Java的检查型错误的一个有关问题
关于Java的检查型异常的一个问题
关于检查型异常,网上的说法是 检查型异常要求在编译期捕获,如果编译器没有看到try catch 语句来捕获异常的话就会报错。那么问题来了,NoSuchMethodException是检查型异常,是不是意味着每次调用方法都要
然而事实上,并不是每次调用方法都需要用try catch包裹调用方法的代码,也就是说我理解错了,错在哪里?求指点
------解决思路----------------------
checked exceptions是需要开发者显示处理的异常,但是处理的方法有两种:
1.try{}catch{}捕获异常
2.通过throw将异常向上传递
对于第一种方法的好处是由于异常在底层,所以能够及时的进行处理,但是有些时候我们并不希望或者底层无法处理某些异常,那么我们就会借助throw将异常往上层抛出,由上层进行捕获处理。
但是不管哪种方式该异常都需要被try{}catch{}捕获,只是捕获的位置并不需要是在异常抛出的地方。
------解决思路----------------------
这句没描述对,并不是指在产生异常的地方处理,而是产生了已检查异常就要处理
关于检查型异常,网上的说法是 检查型异常要求在编译期捕获,如果编译器没有看到try catch 语句来捕获异常的话就会报错。那么问题来了,NoSuchMethodException是检查型异常,是不是意味着每次调用方法都要
try{
myMethod();
} catch(Exception){
}
然而事实上,并不是每次调用方法都需要用try catch包裹调用方法的代码,也就是说我理解错了,错在哪里?求指点
------解决思路----------------------
checked exceptions是需要开发者显示处理的异常,但是处理的方法有两种:
1.try{}catch{}捕获异常
2.通过throw将异常向上传递
对于第一种方法的好处是由于异常在底层,所以能够及时的进行处理,但是有些时候我们并不希望或者底层无法处理某些异常,那么我们就会借助throw将异常往上层抛出,由上层进行捕获处理。
但是不管哪种方式该异常都需要被try{}catch{}捕获,只是捕获的位置并不需要是在异常抛出的地方。
------解决思路----------------------
这句没描述对,并不是指在产生异常的地方处理,而是产生了已检查异常就要处理