JAVA学习笔记之异常处理

java异常种类:

1

1.异常处理方法

处理方法:
1.

try{
    try语句;
}catch(Exception1 e){
    catch语句;
}
 catch(Exception2 e){
    catch语句;
}
 ...
finally{
    finally语句;
}

注意:

  • try语句不可独立存在。
  • 多重catch语句时,catch的错误类型应遵循子类在前,父类在后的原则。
  • 若是try、catch、finally中没有return语句,则会执行try…catch…finally语句块之后的return语句。
  • 若是catch语句块中有return语句存在finally语句块,则会在catch语句块中的return语句执行前先执行finally语句块中的内容,最后在执行catch语句块中的return语句。

2.抛出异常

抛出异常所使用的关键字是throw和throws
语法格式为:

修饰符 返回值类型 方法名(参数表) throws 异常列表{
    语句;
    ...
    throw new Exception();//将异常向上级抛
    ...
    语句;
}

注意:

  • throws后的异常列表表示可能出现的异常,多个异常之间用逗号隔开

3.自定义异常

自定义异常示例:

public class CustomException extends Exception{
    public CustomException(){}
        public CustomException(String message){//message为错误信息
        super(message);
    }
}

..自己理解

4.异常链(包装异常)

步骤:

  1. 使用try…catch捕获下级抛出的异常
  2. 在catch语句中对捕获的异常进行包装并抛出
catch(Exception e){
    Exception newExc = new Exception("错误信息");
    newExc.initCause(e);
    throw newExc;
}

//或者
catch(Exception e){
    Exception newExc = new Exception(e);
    throw newExc;//这样子就会比上面一种方式少输出一个"错误信息"
}

5.经验总结

  • 尽量使用finally语句去释放无用内存
  • 多重catch语句之后,也可以加一个catch(Exception e)去捕获意料之外的异常
  • 碰到异常尽量处理

  1. 截取自imooc ↩

你可能感兴趣的:(java)