java可以把异常当成对象处理
异常分为两大类 Error和Exception
异常处理的五个关键字 try catch finally throw throws
请看代码
catch小括号里面是想要捕获的异常(捕获的是try语句块里的)
大括号里面是处理这个异常
可以写多个catch
finally最终一定会执行
int a = 1; int b = 0; try{ System.out.println(a/b); }catch (ArithmeticException e){ System.out.println("程序出现异常"); }finally { System.out.println("finally"); }
idea快捷键 ctrl + alt + t 生成代码块
throw关键字是手动抛出一个具体的异常 在方法中使用
如果方法中处理不了这个异常 可以选择上抛给调用它的方法 使用throws关键字
public static void test(int a , int b) throws ArithmeticException{ if (b == 0){ throw new ArithmeticException(); } System.out.println(a/b); }
自定义异常 需要继承Exception类 重写toString方法
class MyException extends Exception{ private int num; public MyException(int num) { this.num = num; } @Override public String toString() { return "MyException{" + "num=" + num + '}'; } }
它本身是一个未被处理的异常 需要加入try catch关键字或者上抛这个异常
public static void main(String[] args) throws MyException { throw new MyException(10); }