gpt4 book ai didi

java - 如果我们从 java 中删除已检查的异常会发生什么?

转载 作者:行者123 更新时间:2023-11-30 06:26:34 25 4
gpt4 key购买 nike

我已经通过了这次面试 http://www.artima.com/intv/handcuffs.html以及一些关于检查异常的文章和讨论。那就是说 checked exception 是引入 java 的未经尝试的实验。它会带来版本性和可扩展性问题。 Bruce eckel 还提供了一个适配器将checked exception 转换为unchecked exception 以避免调用force to catch exception。我还希望 hibernate 从 checked exception 迁移到 unchecked exception。我想知道如果我们移除checked exception 机制会怎样?我也同意 checked exception 没有必要存在。

最佳答案

实际上不会发生太多事情。在 VM 级别,所有异常都是未经检查的。您可以通过执行例如验证这一点以下内容:

public class A {
public static void a() {
/* Do nothing */
}
}

public class B {
public static void main(String[] args) {
A.a();
}
}

将这些类分别存放在A.javaB.java文件中,并进行编译。然后,将 A 更改为以下内容:

public class A {
public static void a() throws Exception {
throw(new Exception("foo"));
}
}

重新编译A.java而不重新编译B.java。然后运行 ​​B,您将看到从 A 抛出的异常传播并终止程序,就好像它是一个 RuntimeException,没有 VM提示链接错误或任何事情。

已检查的异常仅仅是 Java 语言的一个语法级特性。删除它不会影响 VM 实现,甚至不会影响语言模型。

关于java - 如果我们从 java 中删除已检查的异常会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14107278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com