Java 编程中的异常传播

java 8object oriented programmingprogramming

异常传播是指异常从一个 catch 块流向另一个 catch 块。以下是规则 −

  • 如果受保护的代码中发生异常,则将异常抛出到列表中的第一个 catch 块。

  • 如果抛出的异常的数据类型与 ExceptionType1 匹配,则会在那里捕获它。

  • 如果不匹配,则将异常传递到第二个 catch 语句。

  • 这将持续到异常被捕获或通过所有捕获为止。

  • 在 end case 中,当前方法停止执行,并将异常抛出到调用堆栈上的前一个方法,此过程称为异常传播。

示例

public class Tester {
   public static void main(String args[]) {
      int a,b;
      try {
         a = Integer.parseInt(args[0]);
         b = Integer.parseInt(args[1]);
         int c = a/b;
         System.out.println(c);
      } catch(ArrayIndexOutOfBoundsException ex) {
         System.out.println("请在运行程序时传递参数");
      } catch(NumberFormatException e) {
         System.out.println("字符串无法转换为整数");
      } catch(ArithmeticException e1) {
         System.out.println("无法除以零"); }finally {
           System.out.println("程序已终止");
      }
   }
}

输出

请在运行程序时传递参数
程序已终止

相关文章