版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
异常机制处理异常类的简介异常的捕获与处理
throws和throw的使用定义自己的异常类异常类ExceptionNumberFormatExceptionNullPointerExceptionIOExceptionClassFoundExceptionArithmeticExceptionArrayIndexOutOfBoundsException用try-catch-finally
语句捕获和处理异常
try{语句体}catch(异常错误类型1变量名
){语句体}catch(异常错误类型2变量名
){语句体}
finally{语句体}
基本格式为:异常处理常用方法getMessage()该方法返回一个字符串,描述与异常相关的错误信息printStackTrace()用于打印显示异常抛出时的堆栈跟踪状态,并将其输到标准错误流中toString()返回一个字符串对该异常对象进行简短的描述throws和throw的使用
throws用于通告方法中可能出现的异常
throw用于显示触发异常。通告一个方法可能产生的异常:在方法声明时通过关键字throws来通告,如有多个异常,用逗号隔开。[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类1>,<异常类2>……]例如:PublicStringread()throwsIOException;触发异常格式:
throw<异常对象>其中,throw是关键字,<异常对象>是创建的异常类对象。例如:thrownewIOException();相当于:IOExceptione=newIOException();throwe;
格式:Exception5.java
例题:Exception6.javaimportjava.io.IOException;publicclassclassname{staticintread()throwsIOException//成员方法定义 { //其它代码
thrownewIOException("Exceptiondemo"); //触发异常
} publicstaticvoidmain(String
args[]) {try //捕获异常
{ //其它代码
read(); }
catch(IOExceptione) //异常处理
{ System.out.println(e);}}}练习题定义一个Example类,类中定义一个成员方法sum(),计算输入数据的连加,当输入的数据小于5时,抛出“输入数据太小”的异常,否则输出方法结果。publicclassExample{publicvoidok(intk)throwsException{intsum=0;
if(k<1)thrownewException("输入数据太小!");elseSystem.out.println(k+"输入成功哦!");
for(inti=1;i<=k;i++){sum=sum+i;}
System.out.println(sum);}publicstaticvoidmain(String
args[]){Examplea=newExample();try{
a.ok(m);}
catch(Exceptione) {System.out.println("Exception:"+e.getMessage());}}}定义自己的异常类创建自定义异常的基本步骤:1.定义一个新的异常类,其必须继承Exception类、Exception类的子类或用户自定义的其他异常类。定义的格式:
class自定义异常类名extends父异常类名
{语句体}2.为新的异常类定义属性和方法,或重载父类的属性和方法,使之能够体现出程序中出现这种异常的信息。基本格式:
publicclassNumberExceptionextendsException{publicNumberException(){super();}publicNumberException(Strings){super(s);}}3.抛出用户自定义的异常。用户自定义异常不可能依靠系统自动抛出,而必须通过throw语句抛出异常,通常是通过条件判断确定是否抛出这个异常类的新对象。抛出用户自定义异常的格式:返回类型方法名(参数1,参数2,……)
throw自定义异常类{if(条件判断)throw(new自定义异常类名(this));……}例题自定义异常类应用于求两个1000以内正整数和的程序中。通过键盘输入两个数字,如果两个都在1000以内的正整数,则计算它们的和,否则显示错误信息。importjava.io.*;publicclassException7{publicstaticvoidmain(String
args[]){try{
System.out.println("两个数的和为:"+sum(num1,num2)); }catch(NumberRangExceptione){
System.out.println(e.getMessage()); }catch(NumberFormatExceptione){
System.out.println("输入格式不对,请输入数字!");}
catch(IOExceptione){} } publicstaticint
sum(intnum1,intnum2)throwsNumberRangException{ if((num1<0)||(num1>1000)||(num2<0)||(num2>1000)){
throw(new
NumberRangException("键入的数字必须在0到1000之内!"));} returnnum1+num2;}}class NumberRangExceptionextendsException{ publicNumberRangException(){super();} publicNumberRangException(Strings){
super(s);}}作业设计异常类:假如某项工作对身高要求较严,需要在170cm到180cm之间,如过超出范围都会产生太高太矮的异常。classTooShortExceptionextendsException{
TooShortException(intheight) {super("height:"+height+"youaretooshorttodothisjob");}
TooShortException(){
super("tooshort"); }}classTooTallExceptionextendsException{
TooTallException(intheight){
super("height:"+height+"youaretootalltodothisjob"); }
TooTallException() {super("tootall");}}classHeightCheck{ publicstaticboolean
check(intheight) throwsTooShortException,TooTallException { if(height<170)thrownewTooShortException(height); elseif(height>180)thrownewTooTallException(height); elsereturntrue; }}publicclassException8 { publicstaticvoidmain(String
args[]){ if(args.length==0){
System.out.println("pleaseinputanumber!"); return;} try{
intheight=Integer.parseInt(args[0]); if(HeightCheck.check(height)){
System.out.println("height:"+height+"isok");}}
catch(NumberFormatException
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何准备营销运营面试面试技巧与实战经验分享
- 就业策略指导职业选择中的行业洞察
- 学校如何引导学生文明祭祀的研究报告
- 室内设计原理与实践技巧
- 家居设计专员工作计划及空间布局方案
- NAFLD合并HIV感染者的HCC筛查方案
- MDT协作下RA骨质疏松的随访管理方案
- 监测评估指南解读
- 白内障常见症状诊断与护理防范
- 眼睛与营养膳食
- UPS电源基本知识课件
- 动物(兽医)微生物实验(教学实践)报告
- 朗诵的技巧与练习课件
- 强排泵站运行维护方案
- DB11-T941-2021无机纤维喷涂工程技术规程
- 药物遗传学教案
- 2.1多媒体音箱常见故障检修
- 立体构成——半立体构成
- 悬臂预应力盖梁专项施工方案
- 浅谈生物质电厂燃料保障
- 浅谈药品质量控制在药品检验工作中的应用
评论
0/150
提交评论