异常

什么是异常

  • 遇到特殊情况,比如用户输入不符合规范,内存不够

异常的类型

  1. 检查性异常 编译时就出现了问题
  2. 运行时异常 运行出错误
  • 特点:可以预见

错误ERROR

  • 错误不是异常 而是脱离程序员控制的问题 比如栈溢出
  • 特点:无法预见 由java虚拟机生成并抛出,大多数错误跟代码编写者无关 致命性的

异常和错误都是Throwable的子类

异常处理

抛出异常

  • 主动抛出异常 throw new +异常类型();
  • 常用于方法中

捕获异常

  • 假设需要捕获多个异常,需要从小到大捕获eg.
     // 假设要捕获多个异常,需要从小到大
    
          try { //try监控区域
              new Test().a();
          } catch (Error e) {//catch(想要捕获的异常类型!)捕获异常
              System.out.println("程序出现异常,变量b不能为0");
          } catch (Exception e) {
              System.out.println("Exception");
          } catch (Throwable e) {
              System.out.println("THROWABLE");
          } finally {//处理善后工作
              System.out.println("finally");
          }
          //finally可以不要,假设IO,资源关闭则需要!
      
    
  • 快捷键生成try catch finally:Ctrl+Alt+t(QQ会占用该快捷键,要么关闭qq要么使用Ctrl+Alt+Win+t)

本文章使用limfx的vscode插件快速发布