Exception有一个message属性。在使用catch的时候可以调用:
Catch(IOException e){System.out.println(e.message())};
Catch(IOException e){e.printStackTrace()};
上面这条语句回告诉我们出错类型所历经的过程,在调试的中非常有用。
开发中的两个道理:
①如何控制try的范围:根据操作的连动性和相关性,如果前面的程序代码块抛出的错误影响了后面程序代码的运行,那么这个我们就说这两个程序代码存在关联,应该放在同一个try中。
① 对已经查出来的例外,有throw(积极)和try catch(消极)两种处理方法。
对于try catch放在能够很好地处理例外的位置(即放在具备对例外进行处理的能力的位置)。如果没有处理能力就继续上抛。
package TomText;
//使用递归方法计算3、4和5的阶乘。
public class TomText_50 {
public static void main(String[] args) {
System.out.println("Factorial of 3 is " + fact(3));
System.out.println("Factorial of 4 is " + fact(4));
System.out.println("Factorial of 5 is " + fact(5));
}
//递归方法,求出参数n的阶乘并返回阶乘值
static int fact(int n) {
int result;
if(n==1)
return 1;
result = fact(n-1) * n;
return result;
}
}
确实,合理地使用try-catch语句可以有效地处理程序中可能出现的异常,提高程序的健壮性和可维护性。以下是一些建议,可以帮助您确定何时应该使用try-catch语句:
- 预期可能发生异常的代码段:如果您的代码中有一段代码可能抛出异常,例如IO操作、网络请求、数据库查询等,应该将这个代码段放在try语句块中。
- 需要捕获特定异常的代码段:如果您的代码需要捕获特定类型的异常,例如NullPointerException、NumberFormatException等,您可以在catch语句块中指定该类型的异常,以便准确地处理这些异常。
- 需要在异常发生时执行特定操作的代码段:在某些情况下,当异常发生时,您可能希望执行特定的操作,例如记录日志、发送警报或回滚事务等。您可以在catch语句块中编写这些操作。
- 避免在循环中使用try-catch语句:如果在循环中使用try-catch语句,可能会降低程序的性能。因为每次循环都会创建一个新的异常对象,这可能会导致性能问题。如果必须在循环中处理异常,请考虑将try-catch语句放在循环外部。
- 避免捕获所有异常:在某些情况下,使用catch(Exception e)会捕获所有类型的异常,这可能会导致意外的结果。因此,应该尽可能具体地指定要捕获的异常类型,以确保只处理相关的异常。
总之,合理地使用try-catch语句可以帮助您更好地处理程序中可能出现的异常,提高程序的健壮性和可维护性。但是需要注意避免过度使用try-catch语句,以免对程序性能产生负面影响。

本文探讨了Java中异常处理的原理,包括Exception的message属性使用、try-catch语句的合理应用及注意事项。文章强调了在预期可能发生异常的代码段、需要捕获特定异常或执行特定操作的场景下使用try-catch的重要性。
2174





