异常及其处理机制优质PPT.ppt

上传人:b****2 文档编号:15401907 上传时间:2022-10-30 格式:PPT 页数:26 大小:1,021KB
下载 相关 举报
异常及其处理机制优质PPT.ppt_第1页
第1页 / 共26页
异常及其处理机制优质PPT.ppt_第2页
第2页 / 共26页
异常及其处理机制优质PPT.ppt_第3页
第3页 / 共26页
异常及其处理机制优质PPT.ppt_第4页
第4页 / 共26页
异常及其处理机制优质PPT.ppt_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

异常及其处理机制优质PPT.ppt

《异常及其处理机制优质PPT.ppt》由会员分享,可在线阅读,更多相关《异常及其处理机制优质PPT.ppt(26页珍藏版)》请在冰豆网上搜索。

异常及其处理机制优质PPT.ppt

System.out.println(*计算结束*);

异常处理格式try/有可能出有可能出现异常的异常的语句句catch(异常异常类异常异常对象象)/编写异常的写异常的处理理语句句catch(异常异常类异常异常对象象)/编写异常的写异常的处理理语句句catch(异常异常类异常异常对象象)/编写异常的写异常的处理理语句句.finally一定会运行到的程序代一定会运行到的程序代码;

对异常进行捕捉publicclassExceptionDemo02publicstaticvoidmain(Stringargs)System.out.println(*计算开始*);

/定义整型变量tryinttemp=i/j;

/此代码不再执行System.out.println(-);

/此代码不再执行catch(ArithmeticExceptione)/捕捉算术异常System.out.println(出现异常了:

+e);

/出现异常执行异常处理语句System.out.println(*计算结束*);

程序执行流程异常的统一出口finallypublicclassExceptionDemo03publicstaticvoidmain(Stringargs)System.out.println(*计算开始*);

/出现异常执行异常处理语句finally/异常的统一出口System.out.println(不管是否出现异常,都执行此代码);

有多个异常的程序publicclassExceptionDemo04publicstaticvoidmain(Stringargs)System.out.println(*计算开始*);

inti=0;

/定义整型变量tryStringstr1=args0;

/接收第一个参数Stringstr2=args1;

/接收第二个参数i=Integer.parseInt(str1);

/将第一个参数由字符串变为整型j=Integer.parseInt(str2);

/将第二个参数由字符串变为整型inttemp=i/j;

程序的异常以上的程序实际上产生了三个比较明显的异常数组超出绑定异常:

ArrayIndexOutOfBoundsException数字格式化异常:

NumberFormatException算术异常:

ArithmeticException此时如果要想保持程序的执行争取,就必须同时对三个异常进行处理,所以此时的catch语句应该有三个,以分别处理不同的异常。

捕捉多个异常publicclassExceptionDemo05publicstaticvoidmain(Stringargs)System.out.println(*计算开始*);

/此代码不再执行catch(ArithmeticExceptione)/捕捉算术异常System.out.println(算术异常:

/处理算术异常catch(NumberFormatExceptione)System.out.println(数字转换异常:

/处理数字转换异常catch(ArrayIndexOutOfBoundsExceptione)System.out.println(数组越界异常:

/处理数组越界System.out.println(*计算结束*);

异常类的继承结构在整个java的异常结构中,实际上有以下两个最常用的类:

Exception、Error,这两个类全都是Throwable的子类Exception:

一般表示的是程序中出现的问题,可以直接使用trycatch处理。

Error:

一般指的是JVM错误,程序中无法处理。

Java的异常处理机制在整个java的异常处理中,实际上也是按照面向对象的方式进行处理,处理的步骤如下:

一旦产生异常,则首先会产生一个异常类的实例化对象;

在try语句中对此异常对象进行捕捉;

产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。

使用Exception处理其他异常从之前学习过的对象多态性可以清楚的知道,所有的子类实例可以全部使用父类接收,那么就可以利用向上转型的概念,让所有的异常对象都使用Exception接收。

注意:

在java中所有捕获范围小的异常,必须放在捕获大的异常之前。

否则程序在编译的时候就会出现错误提示。

使用Exception处理异常publicclassExceptionDemo08publicstaticvoidmain(Stringargs)System.out.println(*计算开始*);

/此代码不再执行catch(Exceptione)/异常捕获范围大System.out.println(其他异常:

/处理异常System.out.println(*计算结束*);

throws关键字在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理。

throws使用格式public返回值类型方法名称(参数列表)throws异常类异常类使用throws关键字classMathpublicintdiv(inti,intj)throwsException/本方法中可以不处理异常inttemp=i/j;

/此处有可能产生异常returntemp;

/返回计算结果publicclassThrowsDemo01publicstaticvoidmain(Stringargs)Mathm=newMath();

/实例化Math对象try/因为有throws,不管是否有异常,都必须处理System.out.println(除法操作:

+m.div(10,2);

catch(Exceptione)e.printStackTrace();

/打印异常在主方法处使用throws关键字classMathpublicintdiv(inti,intj)throwsException/本方法中可以不处理异常inttemp=i/j;

/返回计算结果publicclassThrowsDemo02/本方法中的所有异常都可以不使用try.cathch处理的publicstaticvoidmain(Stringargs)throwsExceptionMathm=newMath();

/实例化Math对象System.out.println(除法操作:

throw关键字与throws不同的是,可以直接使用throw抛出一个异常。

抛出的时候直接抛出异常类的实例化对象即可。

抛出异常publicclassThrowDemo01publicstaticvoidmain(Stringargs)trythrownewException(自己抛出的异常!

);

/抛出异常的实例化对象catch(Exceptione)/捕获异常System.out.println(e);

范例throw与throws的应用实际上,在开发中,像trycatchfinally,throw,throws联合使用的情况是比较多的,例如:

现在要设计一个相除的方法,但是要求必须打印”计算开始”,”计算结束”等信息,如果有异常则交给调用处处理范例throw与throws的应用classMathpublicintdiv(inti,intj)throwsException/方法可以不处理异常System.out.println(*计算开始*);

inttemp=0;

/声明整型变量trytemp=i/j;

/如果产生异常,则执行catchcatch(Exceptione)/捕获异常throwe;

/把异常交给被调用处finally/不管是否产生异常都执行此代码System.out.println(*计算结束*);

returntemp;

publicclassThrowDemo02publicstaticvoidmain(Stringargs)Mathm=newMath();

/实例化Math对象trySystem.out.println(除法操作:

+m.div(10,0);

catch(Exceptione)/进行异常的捕获System.out.printl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1