目录
- 异常
- 异常体系结构
- Error
- Exception
- 练习一
- try监控区域 catch 捕获异常 finally 处理善后工作 catch(想要捕获的异常类型! 变量e) 捕获异常
- //catch (Throwable e) //catch (ArithmeticException e)
- finally区域可以不要 但是假设后面学习IO流 或者资源 可以放在finally里面进行关闭
- 练习二
- //重点 假设要捕获多个异常的时候 要从小到大 // (Throwable>(Error=Exception)) 否则的话会编译报错 //比如 先运行Throwable异常再运行Error异常会出现编译报错
- 练习三
- 重点 //学习快捷键 ctrl Alt + T 自动编写捕获异常代码 //如果按完快捷键后没有反应 原因是与qq热键相冲突
- e.printStackTrace();//打印错误的栈信息
- 练习四
- //但是如果捕获到异常后 还想让代码继续运行 //那么就用try-catch 来进行编写 try { new Test(); }catch (ArithmeticException e){ e.printStackTrace(); }finally { System.out.println("finally"); }
- 重点:注意throws抛出异常和throw抛出异常的区别如下
- // throws 在方法上抛出异常 // (假设这方法中 处理不了这个异常 那么就在方法上抛出异常) public void test(int a,int b) throws ArithmeticException{}
- public void test(int a,int b){ if (b==0){ //throw 在方法体内抛出异常 throw new ArithmeticException(); //主动抛出异常 } }