如何处理java中的大量异常?

时间:2010-12-27 05:16:55

标签: android

我有一些代码。因此,有可能获得许多例外。我的疑问是,要处理所有这些异常,我必须为每种类型的异常编写catch块。这是一种有效的方式吗?除了使用throws关键字,如果有任何其他解决方案,请建议我这样做。任何回复都将不胜感激。

提前致谢

2 个答案:

答案 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