我有一些代码。因此,有可能获得许多例外。我的疑问是,要处理所有这些异常,我必须为每种类型的异常编写catch块。这是一种有效的方式吗?除了使用throws关键字,如果有任何其他解决方案,请建议我这样做。任何回复都将不胜感激。
提前致谢
答案 0 :(得分:4)
这取决于你想要捕获的异常类型。可抛出的所有内容都实现Throwable,因此您可以使用
捕获所有内容} catch (Throwable t) {
包括运行时错误和所有。正如Amjad所提到的,你可以用
缩小一点} catch (Exception e) {
只捕获异常及其子类型。
这两个问题都是他们抓得太多;你可以解决这个问题,但是你有可能抓住一个重要的问题然后再处理它。
如果您只有几个不同的例外情况,那么您可能最好使用异常梳子
} catch (Exception1 e) { // do something
} catch (Exception2 e) { // do something else
如果这些是您自己的例外,您还有另一个选择:创建自己的例外的类层次结构
class MyExceptions extends Exception { /* ... */ }
class MyExceptionSubtypeA extends MyException { /* ... */ }
class MyExceptionSubtypeASubsub1 extends MyExceptionSubtypeA { /* ... */ }
现在您可以选择任何类的子树,如
} catch (MyExceptionSubtypeA sa) {
将抓住 {/ 1>}和MyExceptionSubtypeA
。
答案 1 :(得分:1)
使用一般异常Exception
try{
//your code here
}
catch(Exception e){
//handle exception
}
然而,这是未经推荐的http://source.android.com/source/code-style.html#exceptionsAll