首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java - NoSuchMethodError未被异常捕获

Java - NoSuchMethodError未被异常捕获
EN

Stack Overflow用户
提问于 2016-07-09 23:40:21
回答 1查看 3.5K关注 0票数 9

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

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

但是,这并没有捕获抛出的异常。后来我用NoSuchMethodError代替了Exception,然后异常就被捕获了。

有人能解释一下为什么会发生这种情况吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-09 23:43:10

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

Throwable
 |      |
Error   Exception
        |
        RuntimeException

错误的目的是发出有关JVM内部问题和其他异常情况的信号,这些问题通常无法由程序处理。所以,在你的代码中,你没有捕捉到它们。相反,尝试捕获Throwable

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

此外,阅读this也是一个好主意

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38283476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档