异常处理

来源:互联网 发布:海报制作软件下载 编辑:程序博客网 时间:2024/05/29 17:21
public class ExceptionDemo05{public static void main(String args[]){System.out.println("********** 计算开始 ***********") ;int i = 0 ;// 定义整型变量int j = 0 ;// 定义整型变量try{String str1 = args[0] ;// 接收第一个参数String str2 = args[1] ;// 接收第二个参数i = Integer.parseInt(str1) ;// 将第一个参数由字符串变为整型j = Integer.parseInt(str2) ;// 将第二个参数由字符串变为整型int temp = i / j ;// 此处产生了异常System.out.println("两个数字相除的结果:" + temp) ;System.out.println("----------------------------") ;}catch(ArithmeticException e){// 捕获算术异常// System.out.println("算术异常:" + e) ;e.printStackTrace() ;}catch(NumberFormatException e){// 捕获数字转换异常System.out.println("数字转换异常:" + e);}catch(ArrayIndexOutOfBoundsException e){// 捕获数组越界异常System.out.println("数组越界异常:" + e) ;}System.out.println("********** 计算结束 ***********") ;}};
public class ExceptionDemo07{public static void main(String args[]){System.out.println("********** 计算开始 ***********") ;int i = 0 ;// 定义整型变量int j = 0 ;// 定义整型变量try{String str1 = args[0] ;// 接收第一个参数String str2 = args[1] ;// 接收第二个参数i = Integer.parseInt(str1) ;// 将第一个参数由字符串变为整型j = Integer.parseInt(str2) ;// 将第二个参数由字符串变为整型int temp = i / j ;// 此处产生了异常System.out.println("两个数字相除的结果:" + temp) ;System.out.println("----------------------------") ;}catch(Exception e){System.out.println("其他异常:" + e) ;}catch(ArithmeticException e){// 捕获算术异常// System.out.println("算术异常:" + e) ;e.printStackTrace() ;}System.out.println("********** 计算结束 ***********") ;}};

public class ExceptionDemo08{public static void main(String args[]){System.out.println("********** 计算开始 ***********") ;int i = 0 ;// 定义整型变量int j = 0 ;// 定义整型变量try{String str1 = args[0] ;// 接收第一个参数String str2 = args[1] ;// 接收第二个参数i = Integer.parseInt(str1) ;// 将第一个参数由字符串变为整型j = Integer.parseInt(str2) ;// 将第二个参数由字符串变为整型int temp = i / j ;// 此处产生了异常System.out.println("两个数字相除的结果:" + temp) ;System.out.println("----------------------------") ;}catch(Exception e){System.out.println("其他异常:" + e) ;}System.out.println("********** 计算结束 ***********") ;}};

总结:

1.异常出现之后,如果没有合理的处理的话,则会让整个程序中断执行

2.使用 try...catch 和 try...char...finally 可以处理异常,finally将作为异常的统一出口,不管是否有异常都会执行此语句.

3.一个异常处理中可以同时出现多个catch,但是捕获更粗的异常要放在捕获更细的异常之后,否则程序编译蝗时候将出再错误.

4.在异常中最大的类是Throwable,分为两个子类: Exeption 、Error

·  Exception :是程序可以自己处理的异常

·  Error: 表示JVM错误,一般程序无法处理

5.捕获的时候可以直接捕获Exception, 但是最好分开捕获,如果所有的异常处理操作是一样的话,则可以直接捕获Exception.

6.每当异常产生之后,会在程序中产生一个异常类的实例化对象,之后使用此对象中与catch中的异常类型相匹配,如果匹配成功,则执行catch语句,如果匹配不成功,则向下继续匹配,如果都无法成功,程序中出现中断执行的问题.

原创粉丝点击