这一篇我们将会介绍java中try,catch,finally的用法
以下先给出try,catch用法:
try
{
//需要被检测的异常代码
}
catch(Exception e)
{
//异常处理,即处理异常代码
}
finally
{
//一定会被执行的代码
}
代码区如果有错误,就会返回所写异常的处理。
首先要清楚,如果没有try的话,出现异常会导致程序崩溃。而try则可以保证程序的正常运行下去,比如说:
try
{
int i = 1/0;
}
catch(Exception e)
{
........
}
一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错!
try catch 是捕捉try部分的异常,当你没有trycatch的时候,如果出现异常则程序报错,加上try,catch,出现异常程序正常运行,只是把错误信息存储到Exception里,所以catch是用来提取异常信息的,你可以在catch部分加上一句System.out.println(e.ToString());,如果出现异常可以把异常打印出来~~
try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。
1 public class TestException
2 {
3 public TestException()
4 {
5 }
6 boolean testEx() throws Exception
7 {
8 boolean ret = true;
9 try
10 {
11 ret = testEx1();
12 }
13 catch (Exception e)
14 {
15 System.out.println("testEx, catch exception");
16 ret = false;
17 throw e;
18 }
19 finally
20 {
21 System.out.println("testEx, finally; return value=" + ret);
22 return ret;
23 }
24 }
25 boolean testEx1() throws Exception
26 {
27 boolean ret = true;
28 try
29 {
30 ret = testEx2();
31 if (!ret)
32 {
33 return false;
34 }
35 System.out.println("testEx1, at the end of try");
36 return ret;
37