gpt4 book ai didi

Java - NoSuchMethodError 未被异常捕获

转载 作者:行者123 更新时间:2023-12-02 08:52:11 28 4
gpt4 key购买 nike

我的印象是 Exception 非常适合捕获所有可能的异常,因为它们中的每一个都以 Exception 作为基类。然后,在开发 Android 应用程序时,我使用了以下方法,该方法在某些自定义 ROM 中已被删除。

boolean result = false;
try{
result = Settings.canDrawOverlays(context);
}
catch(Exception e){
Log.e("error","error");
}

但是这并没有捕获抛出的异常。后来我用了NoSuchMethodError而不是Exception然后异常被捕获。

有人可以解释为什么会发生这种情况吗?

最佳答案

Java 异常层次结构如下所示:

Throwable
| |
Error Exception
|
RuntimeException

错误旨在发出有关 JVM 内部问题和其他通常无法由程序处理的异常情况的信号。因此,在您的代码中您没有捕获它们。 try catch Throwable 来代替:

boolean result = false;
try{
result = Settings.canDrawOverlays(context);
}
catch(Throwable e){
Log.e("error","error");
}

阅读 this 也是个好主意。

关于Java - NoSuchMethodError 未被异常捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38283476/

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