java中Exception问题
我们在编程中会遇到一些异常,可以在函数头用throws进行抛出,也可以在函数中用try{}catch(){}进行,这两者之间具体的区别是什么?
例如:(控制台程序)要求从键盘里面输入一个int数据,我们用的是s.nextInt() (s为Scanner的实例) ,键盘可能输入的不是int数据,这时候肯定是一个异常,要求程序肯定是要一直运行到结束的,这时候该怎么班?用哪个?必须使用try catch 吗 ? java Exception java异常
[解决办法]
在方法声明throws表示方法内可能要抛出异常,这时候你可以手动在方法内抛出异常(可以是自己定义的),比如你要认为console输入String是错误的你可以对String parse int 异常进行抛出
然后在外面 或者方法里面进行处理
try {
System.out.println(Integer.parseInt("abc"));
} catch (NumberFormatException e) {
}
System.out.println("跳过不处理");
}
这样就不会让用户看见错误了!
[解决办法]
检查型异常必须捕获或抛出,否则编译不能通过。 如果抛出那么就是说本方法不做异常处理,由这个方法的调用者处理。
[解决办法]
①throws进行抛出,表示该方法不对此异常进行处理,由调用者处理。
②而try catch是对异常进行捕获。捕获之后对异常进行一系列操作,使之没有异常;或者在捕获异常处理之后,再定义异常将其抛出。
[解决办法]