Java 中try与catch的使用

try...catch语法

1 try{
2     //代码区
3 }catch(Exception e){
4     //异常处理
5 }

  用途:当try里代码区出现报错异常时(try里必须有代码),执行catch里的异常处理。

  如果try里没有代码,或者没有try,出现异常会导致程序崩溃

    该语法,一般用于字符串处理,可以处理格式错误所导致的异常和报错。

  例如:

1 try {
2        if (str.equals("")) { // empty string
3              System.out.println("WRONG FORMAT!");
4        } else {
5              polynomial.Poly(str); //polunomial为自己定义的对象
6        }
7 } catch (Exception e) {
8             System.out.println("WRONG FORMAT!");
9 }

  还有常有的除以“0”出现的错误,数组越界等,try...catch捕捉了try代码里的异常,加强程序的鲁棒性;当你没有try...catch的时候,如果出现异常则程序报错,加上try...catch,出现异常程序正常运行,只是把错误信息存储到Exception里,然后执行catch里的代码。所以catch是用来提取异常信息的,你可以在catch部分加上一句System.out.println(e.ToString());,如果出现异常可以把异常打印出来。

  补充:除了这两个关键字,Java里还有finally语句,Throw、Throws语句,可以用来做抛出更多例外的错误信息。

try、catch、finally用法总结:

  1、不管有没有异常,finally中的代码都会执行

  2、当try、catch中有return时,finally中的代码依然会继续执行

  3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。

  4、finally代码中最好不要包含return,程序会提前退出,也就是说返回的值不是try或catch中的值

 

posted @ 2019-03-11 10:01  YE_Bob  阅读(29119)  评论(0编辑  收藏  举报