#异常
异常:异常是指在程序的运行过程中所发生的不正常的事件,他会中断正在运行的程序
Java的异常处理是通过5个关键字来实现的:try,catch,finally,throw,throws
try{
//可能出现异常的代码
}catch(Exception e){
//抓取异常
}finally{
//无论是否有异常都要执行
}
补充:finally快唯一不执行的情况是:System.exit(1)//退出虚拟机
1. 多个catch语句的 catch 块的顺序很重要,从上至下捕获的异常类型应该从小到大。
2. 子类型的异常应该放在父类型异常的前面,否则会编译错误。
3. finally语句最后一定会被执行,用于资源清理等操作。
4. 一个try只能对应一个finally语句,但可以有多个catch语句。
hasNextInt
if(in.hasNextInt()){
input.NextInt();
}
hasNextInt可以判断输入的是否是int类型数据。
e.printStackTrace():用来打印异常堆栈信息。
System.err.println():用来输入异常信息
String getMessage():返回异常信息描述字符串,是printStackTrace()输出信息的一部分
面试题:try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序
答:执行! 顺序:try→catch(如果有异常的话)→finally块→return语句
- throws声明异常,声明当前方法可能出现的异常,如果不能精确就写父类
声明当前方法有异常后,调用者必须处理 - throw 抛出异常,当前方法有问题的话你抛出一个自己能看懂的异常(指的是你的参数)
在方法中抛出后 ,只有父类的情况下,必须声明。
异常体系结构
Throwable 可抛的异常
-
error 仅靠程序本身无法修复的严重错误
-
Exception 异常 程序中有办法修复的非严重错误
-
RuntimeException 程序运行时异常(运行时必须解决的)
-
CheckedException 受检异常(在编写代码的时候必须解决的)
-