与try和catch相关的异常处理

时间:2015-05-27 07:50:57

标签: java

我们可以在catch块中编写任何实现代码吗?用于在catch块中实现的规则是什么?

try{
    resultado = (T) mensaje.getBody(clase);

}
catch(Exception ex){
    resultado = null;
    this.destruye();
    throw ex;
}

4 个答案:

答案 0 :(得分:2)

您可以在catch块中编写所需的所有代码。

  

异常处理程序可以做的不仅仅是打印错误消息或停止   该程序。他们可以做错误恢复,提示用户做一个   决定,或使用错误将错误传播到更高级别的处理程序   链式异常

请记住,只有在抛出异常时才会执行此代码。

答案 1 :(得分:0)

  

我们可以在catch块中编写任何实现代码吗?

您可以在catch块中编写所需的任何代码。只有在抛出异常时才会执行代码。

  

用于在catch块中实现的规则是什么?

理想情况下,catch块包含处理实例打印堆栈跟踪的异常的代码,记录异常,将流转发到jsp或方法,包装异常&重新抛出它,优雅地退出。除此之外,您可以根据您的要求编写任何代码,您无需遵循任何特定规则。

答案 2 :(得分:0)

是的,你可以写任何你想要的东西......

如果您认为您的代码移植可能会出现任何错误 由于这个原因,程序在这种情况下已经终止处理你必须使用catch块的异常,以便程序不会终止。

myKeyStore

答案 3 :(得分:0)

是的,您可以在catch区块中编写所需的任何代码,如 the catch Blocks Documentation 中所示:

  

catch块包含在调用异常处理程序时执行的代码。

所以这里只有在try块中的代码引发异常时才执行catch块,所以在这种情况下你可以处理Exception并编写你想要的任何代码。

例如,你可以写:

Int input = 0;
try {
    System.out.println("Enter a number :");
    input = scanner.nextInt();
} catch (IOException e) {
    System.err.println("Caught IOException: " + e.getMessage());
    System.out.println("Rewrite the number please");
}

并回答你关于" 的问题用于在catch块中实现的规则是什么?"如果在catch块中编写代码是一种不好的做法:

您可以在文档中看到:

  

异常处理程序不仅可以打印错误消息或停止程序。他们可以进行错误恢复,提示用户做出决定,或者使用链式异常将错误传播到更高级别的处理程序,如“链式异常”部分所述。

所以在catch块中编写你需要编写的代码是很好的,你可以看一下Exception Chaining,看看你可以在那里编写代码,但请记住它&# 39; s用于编写处理给定Exception的代码。