异常:受检异常和非受检异常
运行时异常:RuntimeException——不飘红的异常。多态方式处理异常
所有异常的父类:Exception
try{
// 有可能发生异常的代码段
}catch(
异常类型
1
对象名
1){
// 异常的处理操作
}catch(
异常类型
2
对象名
2){
// 异常的处理操作
} ...
finally{
// 异常的统一出口 (必须要擦的屁股放在这)
}
第一步、try和catch代码块的return语句准备返回内容;
第二步、finally执行
第三步、return的内容返回。如果返回的是引用数据类型,结果受finally影响,如果返回的是基本数据类型,结果不受finally影响
throws关键字:
如果异常是因为传参导致,应该通过throws将异常抛出
返回值 方法名称()throws Exception{ }
public static void main(String[ ] args)throws Exception { }
RuntimeException 不用throws,其他异常必须处理(try catch)或throws
throw关键字:
代码中手动抛出异常 (必须处理)
public void setAge(int age){
if(age<0||age>180){
RuntimeException e = new RuntimeException("年龄不合理");
throw e;
}else {
this.age = age;
}
}
自定义异常类:
继承Exception类为受检异常
继承RuntimeException类为非受检异常