diff --git a/s-day05/src/com/inmind/exception01/Demo08.java b/s-day05/src/com/inmind/exception01/Demo08.java new file mode 100644 index 0000000..d5be60b --- /dev/null +++ b/s-day05/src/com/inmind/exception01/Demo08.java @@ -0,0 +1,36 @@ +package com.inmind.exception01; + +import java.io.FileOutputStream; + +/* +运行时异常和编译时异常的区别 +运行时异常:属于非检查型异常,无需强制处理,可以通过优化代码逻辑,避免异常。 +编译时异常:属于检查型异常,在编写阶段,可能出现语法问题必须处理,需要程序员预见并处理可能的异常情况,可以通过try-catch或throws处理 + +总结:编写代码时,编译时异常必须处理,而运行时异常,可以选择性地处理 + +一个方法中的异常可以有2种处理方式: + 1.throws 声明出去 + 2.try-catch 自己处理 +在main方法顶层,真正能处理掉异常的只有try-catch + */ +public class Demo08 { + public static void main(String[] args) { + try { + method1(); + } catch (RuntimeException e) { + System.out.println("处理了一个运行时异常"); + } + } + + private static void method1() { + try { + System.out.println("代码1"); + System.out.println("代码2"); + System.out.println("代码3"); + throw new Exception("我是一个编译时异常"); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +}