Training

Chapter 6 异常处理

  1. 异常的产生

  2. 异常的分类

     java.lang.Object
         java.lang.Throwable
             java.lang.Error
             java.lang.Exception
                 java.lang.RuntimeException
                 java.io.IOException
                 java.*.*Exception
    
    • 非受检异常

      RuntimeException类及其子类是非受检异常

    • 受检异常

      Exception类中除了RuntimeException之外的其他异常类及其子类

    • 非受检异常可以通过编译,可能在运行时产生

    • 受检异常不能通过编译,必须对其进行处理
      • 受检异常的处理方式
        1. 使用 try / catch 包围
        2. 在方法中声明这个异常 throws
  3. 异常的处理

     try {
         // 可能产生异常的语句块
     } catch (ExceptionType exceptionType) {
         // 异常的处理
     } finally {
         // 其他的处理
     }
    
    • try 后面必须有 catchfinally
    • catch 可以有多个
    • finally 最多只能有一个
    • try 内一旦发生异常,try 内这条语句后的代码都不再执行,无论异常有没有被 catch
    • finally 语句块总是会被执行
    • 异常的处理方式
      • 输出异常信息 e.printStackTrace();
      • 退出程序 System.exit(0)
  4. 显示抛出异常 throw