try-catch异常处理的运用

1 问题

try-catch结构是异常处理的基本结构。这种结构中可能引发异常的语句封装在try块中,而处理异常的相应语句封装在catch块中。那么try-catch异常处理的具体运用是怎样的呢?

2 方法

try 语句指明可能产生异常的代码段。

catch语句在try语句之后,用于捕捉异常,一个try语句可以有多个catch语句与之匹配。当有多个catch语句时,系统依照先后顺序逐个检查。用catch语句捕捉异常时,若找不到相匹配的catch语句,将执行默认的异常处理。

catch程序块的参数不能设置成多个,一个catch只有一个参数。

若两个catch程序块(均和某个try程序块有关)都用于捕捉同一类型异常,那么将产生语法错误。

若某一类型异常,则可能有几个异常处理程序与它相匹配,那么执行first相匹配的异常处理程序。

Java 中可以使用嵌套的try-catch结构。在使用嵌套的ty块时,将先执行内部try块,如果没有遇到匹配的catch块,则将检查外部try块的catch块。

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| package Six1114; public class Test01 { public static void main(String[] args) { double num = 1; try{ num = 1/0; } catch (ArithmeticException e){ e.printStackTrace(); } } } //运行结果: java.lang.ArithmeticException: / by zero at Six1114.Test01.main(Test01.java:7) |

3 结语

上述代码演示了try-catch结构的异常处理的基本运用,try语句块中语句num=1/0被执行时,由于被除数为0,因此产生ArithmeticException异常,catch语句捕获到这类异常后,输出上述信息,指明异常类型"javalang.ArithmeticException:by zero"和异常位置"JBT6201.main(JBT6201.java:7)"通过本次实验,我们学习到了异常处理的基本运用,认识到了异常处理的必要性,希望在后续的练习中多多运用其他的异常处理语句,以及理解各个语句的作用和不同之处。