我们在编程中会遇到一些异常,可以在函数头用throws进行抛出,也可以在函数中用try{}catch(){}进行,这两者之间具体的区别是什么?
例如:(控制台程序)要求从键盘里面输入一个int数据,我们用的是s.nextInt() (s为Scanner的实例) ,键盘可能输入的不是int数据,这时候肯定是一个异常,要求程序肯定是要一直运行到结束的,这时候该怎么班?用哪个?必须使用try catch 吗 ?javaExceptionjava异常
例如:(控制台程序)要求从键盘里面输入一个int数据,我们用的是s.nextInt() (s为Scanner的实例) ,键盘可能输入的不是int数据,这时候肯定是一个异常,要求程序肯定是要一直运行到结束的,这时候该怎么班?用哪个?必须使用try catch 吗 ?javaExceptionjava异常
然后在外面 或者方法里面进行处理
try {
System.out.println(Integer.parseInt("abc"));
} catch (NumberFormatException e) {
}
System.out.println("跳过不处理");
}
这样就不会让用户看见错误了!
②而try catch是对异常进行捕获。捕获之后对异常进行一系列操作,使之没有异常;或者在捕获异常处理之后,再定义异常将其抛出。
对于运行时异常,不会强制你去捕获它,直到jvm发现它,自动抛出去
比如你说的NumberFormatException,这种异常你可以throws抛出去,让调用者处理,(在main方法里就直接终止程序运行了),或者使用try catch抓住它,在catch块里处理成你想要的结果
②而try catch是对异常进行捕获。捕获之后对异常进行一系列操作,使之没有异常;或者在捕获异常处理之后,再定义异常将其抛出。说的有道理啊