Java中运行时异常的处理
有人能解释一下如何在Java中处理运行时异常吗?它与处理常规异常没有区别:Java中运行时异常的处理,java,exception-handling,runtimeexception,Java,Exception Handling,Runtimeexception,有人能解释一下如何在Java中处理运行时异常吗?它与处理常规异常没有区别: try { someMethodThatThrowsRuntimeException(); } catch (RuntimeException ex) { // do something with the runtime exception } 如果知道可能引发的异常类型,则可以显式捕获它。您还可以捕获异常,但这通常被认为是非常糟糕的做法,因为您将以相同的方式处理所有类型的异常 一般来说,RuntimeEx
try {
someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
// do something with the runtime exception
}
如果知道可能引发的异常类型,则可以显式捕获它。您还可以捕获异常,但这通常被认为是非常糟糕的做法,因为您将以相同的方式处理所有类型的异常
一般来说,RuntimeException的要点是您无法优雅地处理它,并且不希望在程序正常执行期间抛出它们。您只需捕获它们,就像任何其他异常一样
try {
somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
// Do something with it. At least log it.
}
不确定您是否直接引用Java中的
RuntimeException
,因此我假设您正在谈论运行时异常
Java中异常处理的基本思想是将可能引发异常的代码封装在特殊语句中,如下所示
try {
// Do something here
}
然后,处理异常
catch (Exception e) {
// Do something to gracefully fail
}
如果无论是否引发异常,都需要执行某些操作,请添加finally
finally {
// Clean up operation
}
总的来说是这样的
try {
// Do something here
}
catch (AnotherException ex) {
}
catch (Exception e) { //Exception class should be at the end of catch hierarchy.
}
finally {
}
我认为SO的非接受方现在已经明白,这些都是空洞的威胁。我们想要mod积分!我从来没有在任何地方看到过“接受”按钮?它是答案旁边的一个大勾号/更正标记。这很悲哀,但我的印象是,对于愚蠢的问题,明显的30秒答案通常比对于更有趣的问题,写得好的答案给予更多的奖励分数。对于浏览率高的问题,第一个答案通常会得到很多奖励分数,即使它与问题根本不相关。对不起,我找不到任何地方。我可以捕获运行时异常吗?当然!
Throwable
的所有子类都可以捕获。我看不出这个问题有任何问题-我有一个Runnable,我怀疑它导致了运行时错误,我不知道您可以将任何代码包装在try/catch中并添加RunTimeException捕获。我在谷歌上搜索了“Android处理运行时异常”,这是第一个出现的问题&这个答案提供了我所需要的。当然这正是该如何工作的?我们能捕获运行时异常吗?这怎么可能?在不知道运行时异常的情况下,我们如何通过编程捕获它?您可以使用catch(ExceptionType name){}
捕获任何类型的异常。否则,您可以使用catch{}
捕获所有异常,或者使用catch(异常名称){}
捕获所有异常(并使您可以访问有关它们的信息)。@Ed:这是正确的。但是如果我在服务器上出错(加载问题)。这是运行时异常。我们将如何以编程方式捕获此异常?可能吗?我不知道你的意思…你可以使用我提供的语法以编程方式捕获异常。可能除了,当自定义组件抛出运行时异常,因为它无法通过网络到达特定主机,这会使你的Android应用程序崩溃.