Java异常处理

1. 异常处理概述

Java的异常机制主要依赖于try, catch, finally, throws, throw五个关键字。Java将异常分为Checked异常和Runtime异常,Checked必须被处理(try catch 或throws 抛出), 而Runtime异常可以无需处理。

2. 异常处理机制

Java异常处理_第1张图片

  • try catch 块
try {
    //业务实现代码
    //....
}catch (Exception e) {
    //异常处理
}
  • 捕获多异常
try {
    //...
}catch (IndexOutOfBoundsException | NumberFormatException e) {
    //... 
    //多种类型的异常变量,有隐式的final修饰
}catch (Eeception e) {
    //...
    //一种类型的异常变量,没有隐式的final修饰
}
  • 访问异常信息
1. getMessage() : 返回该异常的详细描述字符串
2. printStackTrace() : 将该异常的跟踪栈信息输出到标准错误输出
3. printStackTrace(PrintStream ps) : 将该异常的跟踪栈信息输出到指定输出流
4. getStackTrace() : 返回该异常的跟踪栈信息
  • finally 释放资源
    Java垃圾回收机制不会回收任何物理资源,垃圾回收机制只能回收堆内存中对象占用的内存,所以物理资源必须显示释放。
try {
    //...
}catch (Exception e) {
    //...
}finally {
    //...
}
  • 自动关闭资源的try语句
try (BufferedReader br = new BufferedReader(new FileReader("AutoCloseTest.java"));
     PrintStream ps = new PrintStream(new FileOutputStream("a.txt"))) {
    //...     
}
  • throws在方法中抛出异常
throws ExceptionClass1, ExceptionClass2... 
  • 使用throw抛出异常
throw ExceptionInstance;
  • 自定义异常
继承Exception类,并定义有参构造函数(String message)和无参构造函数

你可能感兴趣的:(Java异常处理)