分类:
ERROR类:由Java虚拟机生成并抛出,一般是致命性错误。
Exception类:可以被程序处理
try{ }catch(ArithmeticException e){ //括号中为想要捕获的异常类型 }catch(异常类型 变量名){ 变量名.printStackTrace();//打印错误栈信息 }finally{//善后,无论有没有异常,都会运行 }//finally可以不要,try-catch必须要
规则:
方法中使用,用throw
public class Test{ public void test (){ //主动抛出异常 throw new ArithmeticException(); } }
方法上抛出异常要用throws
public class Test { //假设在方法中不能处理异常,方法上抛出异常 public void test() throws ArithmeticException{ } }
用户自定义异常,继承Exception类
public class MyException{ //传递数字>10 private int detail; public MyException(int a){//alt + insert this.detail = a; } //toString:重写异常的打印信息 //重写之后可以使用System.out.print(MyException类型变量名) @Override public String toString(){ return "MyException{" + detail +"}"; } }
如果之后需要打印MyException类型的变量,就会运行重写的toString()