Java异常处理

来源:互联网 发布:知乎 编程电脑配置要求 编辑:程序博客网 时间:2024/05/16 06:41

1. 异常处理概述

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

2. 异常处理机制

这里写图片描述

  • 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)和无参构造函数
0 0
原创粉丝点击