Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java异常传播_Java - Fatal编程技术网

java异常传播

java异常传播,java,Java,看看这个节目 public class ExceptionPropagation { void method3() { throw new Exception(); //raises exception // throw new ArithmeticException(); NO Exception arised } void method1() { try{ method3(); } catch(Exception e) {

看看这个节目

public class ExceptionPropagation {
  void method3() {
    throw new Exception(); //raises exception
    // throw new ArithmeticException(); NO Exception arised
  }
  void method1() {
    try{
      method3();
    } catch(Exception e) {
      System.out.println("Exception is handled here");
    }
  }
  public static void main(String args[]) {
    ExceptionPropagation obj=new ExceptionPropagation();
    obj.method1();
  }
}
为什么它在未检查的异常情况下工作,为什么不在检查的情况下工作?
有人能解释一下它与jvm方面的关系吗?

有两种类型的异常

1检查异常
2未检查异常 选中的异常是编译时异常。i、 e它将在编译时进行检查。在您的情况下,
异常
类是已检查的异常。因此,必须在方法签名中明确提到关键字
throws
,才能传递编译错误


未检查的异常是运行时异常。i、 e仅在运行时对其进行检查<代码>算术异常是未检查的异常。

这是已检查异常和未检查异常之间的区别。如果某些代码可以抛出选中的异常,则必须通过为其声明throws子句或捕获它来处理该异常。未检查的异常不需要这样做。看。