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子句或捕获它来处理该异常。未检查的异常不需要这样做。看。