java - 我们可以在 Java 中捕获错误吗?

标签 java exception error-handling

如果你运行下面的代码,那么它将编译并运行成功,

public class Example {
    public static void main(String[] args) {
        // insert code here
        try {
            new Example().go();
            // throw new OutOfMemoryError();
        } catch (Error e) {
            System.out.println(e);
        }
    }

    void go() {
        go();
    }
}

输出如下:

java.lang.StackOverflowError

所以我的问题是“我们可以捕获错误吗”..??

最佳答案

你的问题的答案是肯定的,你可以在 java 中捕获错误。你的代码几乎是正确的。您的方法 go() 无限调用自身,因此导致 StackOverflowError 被捕获到您的 catch block 中并由 System.out.println() 打印

关于java - 我们可以在 Java 中捕获错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295714/

相关文章:

java - 如何识别哪个函数调用在 try block 中引发了特定异常?

http - 如何使用ADAL Objective-C提取从Azure AD发送的HTTP错误代码

java - Spring MVC - 处理错误并传递给 View 的通用方法

javascript - Angular 2 如何在登录浏览器控制台之前处理 404?

java - J2ME Hessian 限制的解决方法?

java - 如何从 CallableStatement 获取所有参数绑定(bind)信息?

java - 如何在 EditText 中插入文本?

java - 如何以 root 身份启动 Java 程序但降级为非 root 用户

c++ - 我应该从 std::exception 继承吗?

java - 不知道发生异常时如何转发404页面