异常
Throwable类
包括error 和 exception 子类
异常的分类
Error:JVM无法处理的严重错误
检查异常:编码时必须处理的异常,需要被显式地捕获或说明抛出
非检查异常:可以选择性地捕获或处理
RuntimeException:运行时异常,Exception的子类
处理异常的方式
1)try catch
try{//检查是否存在异常的语句块
}catch{//处理异常
}
2)throw/throws
throws
抛出可能发生异常的类
throw
用户自定义异常类
声明异常:
public class UserException extends RuntimeException{
public UserException(){
}
public UserException(String message){
super(message);
}
}
使用异常
if(!user.equals("admin")){
throw new UserException("账号异常");
}
finally
无论是否发生异常都会执行
#1
try catch finally形式
try{}catch{}catch{}...
try{}catch{}finally{}
try{}finally{}
#2
finally 和 return
int x=1;
try {
return x;//执行return 指令,读取x值
}
finally{
return ++x;//执行return指令,读取x值 取代try中的return,
}