文档库 最新最全的文档下载
当前位置:文档库 › 异常处理练习题

异常处理练习题

异常处理练习题
异常处理练习题

异常处理练习题

一、选择题

1.java中用来抛出异常的关键字是

A、try

B、catch

C、throw

D、finally

2.关于异常,下列说法正确的是

A、异常是一种对象

B、一旦程序运行,异常将被创建

C、为了保证程序运行速度,要尽量避免异常控制

D、以上说法都不对

3.()类是所有异常类的父类。

A、Throwable

B、Error

C、Exception

D、AWTError

4.java语言中,下列哪一子句是异常处理的出口

A、try{…}子句

B、catch{…}子句

C、finally{…}子句

D、以上说法都不对

5.下列程序的执行,说法正确的是

public class MultiCatch

{

public static void main(String args[])

{

try

{

int a=args.length;

int b=42/a;

int c[]={1};

c[42]=99;

System.out.println(“b=”+b);

}

catch(ArithmeticException e)

{

System.out.println(“除0异常:”+e);

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println(“数组超越边界异常:”+e);

}

}

}

A、程序将输出第15行的异常信息

B、程序第10行出错

C、程序将输出“b=42”

D、程序将输出第15和19行的异常信息

6.下列程序的执行,说法正确的是

class ExMulti

{

static void procedure()

{

try

{

int c[]={1};

c[42]=99;

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println(“数组超越界限异常:”+e);

}

}

public static void main(String args[])

{

try

{

procedure();

int a=args.length;

int b=42/a;

System.out.println(“b=”+b);

}

catch(ArithmeticException e)

{

System.out.println(“除0异常:”+e);

}

}

}

A、程序只输出第12行的异常信息

B、程序只输出第26行的异常信息

C、程序将不输出异常信息

D、程序将输出第12行和第26行的异常信息

7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。class TrowsDemo

{

static void procedure() throws IllegalAccessException

{

System.out.println(“inside procedure”);

throw____new___IllegalAccessException(“demo”);

}

public static void main(String args[])

{

try

{

procedure();

}

___catch (IllegalAccessException e)________

{

System.out.println(“捕获:”+e);

}

}

8.对于catch子句的排列,下列哪种是正确的( )

A、父类在先,子类在后

B、子类在先,父类在后

C、有继承关系的异常不能在同一个try程序段内

D、先有子类,其他如何排列都无关

9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A、try子句

B、catch子句

C、finally子句

D、throw子句

10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )

A、捕获异常

B、抛出异常

C、声明异常

D、嵌套异常

11.哪个关键字可以抛出异常?

A、transient

B、 finally

C、 throw

D、 static

12.一个异常将终止( )

A、整个程序

B、只终止抛出异常的方法

C、产生异常的try块

D、×上面的说法都不对

二、填空题

1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与__异常____对象的类进行匹配。

2、java虚拟机能自动处理_____RuntimeException_______异常。

3、变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和____对象变量_____

4、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。

5、java语言认为那些可预料和不可预料的出错称为____Throwable___

6、按异常处理不同可以分为运行异常、捕获异常、声明异常和__自定义异常____几种。

7、抛出异常的程序代码可以是____java应有程序______或者是JDK中的某个类,还可以是JVM.

8、抛出异常、生成异常对象都可以通过__throws句实现。

9、捕获异常的统一出口通过___finally____语句实现。

10、java语言的类库中提供了一个__Throwable___类,所有的异常都必须是它的实例或它子类的实例。

11、Throwable类有两个子类:_____Error_____类和Exception类。

12、对程序语言而言,一般有编译错误和____运行_____错误两类。

13、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。

public class HelloWorld

{

int i=0;

String greetings[]= {

“Hello world!”,

“No,I mean it!”,

“HELLO WORLD!!”

};

while(i<4)

{

___try______

{

System.out.println(greeting[i]);

}

____catch____(ArrayIndexOutOfBoundsException e)

{

System.out.println(“Re-setting Index Value”);

i=-1;}

finally

{

System.out.println(“This is always printed”);

}

i++;

}

}

三、判断题

1. ( n ) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

2. ( y ) 一个异常处理中finally语句块只能有一个或者可以没有。

3.( y)异常类对象代表当前出现的一个具体异常。

4.( y )java语言中的所有异常类都是https://www.wendangku.net/doc/065566832.html,ng.Throwable的子类。

5.( n ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。

四、编程题

1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试]

public class StringIndexOutOf

{

public static void main(String args[])

{

System.out.println("字符串索引越界异常");

String str=args[0]; System.out.println(“第四个字符为”+str.charAt(3));

int aa=Integer.parseInt(args[0]); System.out.println(“平方为”+aa*aa);

}

}

2.从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。

3.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

4.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z 赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。

品质异常处理办法(标准范本)

绩效考核绩效管理企业建设企业管理招聘配置薪酬待遇薪酬管理培训开发培训与开发员工关系人事管理行政后勤行政管理制度规范招聘与配置实用表格规章制度管理制度建设方案方案书员工培训培训计划入职培训团队建设考核方法员工考核工资待遇工作计划工作计划表签到表考勤表工资表考核表申请表登记表检查表计划表报告表通知单日报表记录表审批表报销单绩效考核企业管理招聘配置薪酬待遇培训开发员工关系行政后勤实用表格行政表格办公常用人事报表财务报表 品质异常处理办法 (2019-2020年版) 内部资料注意保管

品质异常处理办法 1.总则 1.1.制定目的 为加强产品品质管制,使制造过程中品质异常得以顺利解决,特制定本办法。 1.2.适用范围 本公司制造过程中发生的品质异常处理,除另有规定外,悉依本办法执行。 1.3.权责单位 1)品管部负责本办法制定、修改、废止之起草工作。 2)总经理负责本办法制定、修改、废止之核准。 2.异常处理规定 2.1.处理流程 1)由发现异常之单位(一般为制造单位或品管)提出《品质异常反馈单》,并先 用口头、电话方式向发生单位与责任单位告知。 2)由制造单位或品管部提出临时对策。 3)由责任单位提出改善对策。 4)由品管部负责对策效果追踪、评估。 5)由品管负责对品质异常进行统计、存档和其他管理。 2.2.品质异常反馈单 《品质异常反馈单》应包括下列内容: 2.2.1.发现异常单位填写 1)制造命令。 2)生产产品名称、规格。 3)客户。 4)发生时间。 5)发生场所。 6)异常情形描述。 7)不良率。 8)责任单位。 2.2.2.发生异常单位或品管部填写 1)不良原因分析。 2)临时对策。 2.2. 3.责任单位填写 1)不良原因分析。 2)改善对策(根本对策)。 2.2.4.品管部填写 对策效果追踪。 2.3.品质异常处理时效 1)责任单位应在接获异常反馈单后,于24小时内提出对策,并回馈至发现异常 单位及品管部。 2)确因原因复杂未能于上述期限内完成时,应事先向发现异常单位及品管部说明。 2.4.异常原因分类 异常原因分类以及责任单位如下:

JAVA 异常处理实验报告

实验三异常处理 [实验目的] 1.掌握异常处理方法及熟悉常见异常的捕获方法。 [实验内容] 1.练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch 子句的使用。 [实验步骤与要求] 第1题异常处理 要求声明定义两个Exception的异常子类:NoLowerLetter类和NoDigit类。再声明一个People类,该类中的void printLetter(char c)方法抛出NoLowerLetter异常类对象,void PrintDigit(char c)方法抛出NoDigit异常类对象。 [作业提交] 将代码贴在下面: class NoLowerLetter extends Exception{ String message; NoLowerLetter(char c){ message=c+"不是正数"; } public String getMessage(){ return message; } } class NoDigit extends Exception{ String message; NoDigit(char c){ message=c+"不是偶数"; }

public String getMessage(){ return message; } } class People{ public void printLetter(char c) throws NoLowerLetter{ if(c<0){ NoLowerLetter ex=new NoLowerLetter(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } public void PrintDigit(char c) throws NoDigit{ if(c%2!=0){ NoDigit ex=new NoDigit(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } } public class bianma{ public static void main(String args[]){ People p=new People(); try{ p.printLetter('Q'); p.printLetter(' '); } catch( NoLowerLetter e){ System.out.println(e.getMessage()); } try{ p.PrintDigit('d'); p.PrintDigit('a'); } catch( NoDigit e){ System.out.println(e.getMessage()); } } } 将结果运行截屏贴在下面:

Java-异常(习题)

java异常(习题) 练习 1. 填空 Java 中所有的错误都继承自______类;在该类的子类中, _______类表示严重的底层错误,对于这类错误一般处理的方式是___________; _______类表示例外、异常。 2. 查api,填空 异常类java.rmi.AlreadyBoundException,从分类上说,该类属于__________(已检查| 未检查)异常,从处理方式上说,对这种异常___________________; 异常类java.util.regex.PatternSyntaxException,从分类上说,该类属于_________(已检查|未检查)异常,从处理方式上说,对这种异常__________________。 4. (try-catch-finally)有如下代码:

问:当读入的n 分别为1,2,3,4,5 时,输出的结果分别是什么?

5. (自定义异常)创建两个自定义异常类MyException1 和MyException2。 要求: 1) MyException1 为已检查异常,MyException2 为未检查异常 2) 这两个异常均具有两个构造函数,一个无参,另一个带字符串参数,参数表示产生异常的详细信息。

问: 在//1 处,填入以下________代码可以编译通过,在//2 处,填入_________代码可以编译通过。 A. throws java.io.IOException B. throws java.io., java.io.EOFException C. throws java.sql.SQLException D. 不能抛出任何异常。

品质异常处理流程模板

品质异常处理流程 (公开文件,共4页) 一、目的: 规范品质异常处理流程,提高品质异常处理的时效性,确保来料质量及生产的正常运转,同时满足顾客的质量要求。 二、范围: 适用于本公司来料、制程、出货品质异常的处理。 三、定义: 3.1 来料品质异常: a、不符合相关检验标准要求,且不良率超过质量目标时; b、合格物料制程中发现重点物料不合格时; c、有经过改善且有效果确认,但又重复发生品质异常时。 3.2 制程品质异常: a、使用不合格的原料或材料; b、同一缺陷连续发生; c、不遵守作业标准或不遵守工艺要求; d、机械发生故障或精度磨损; e、其他情形影响到产品质量时。 3.3 出货品质异常: a、客户投诉或抱怨; 四、职责 4.1 来料品质异常: 品质:a.负责填写《品质异常联络单》“异常描述”部分; b.负责将《来料检验报告》、《品质异常联络单》发送于采购,抄送工程、生产; c负责品质异常改善结果确认。 采购:负责将《来料检验报告》、《品质异常联络单》发送给供应商并及时与供应商联系跟踪供应商及时回复“原因分析”“纠正与预防措施”并将结果回复品质部. 4.2 制程品质异常: 品质部: a,负责品质异常之最终判定; b,负责确认品质异常责任部门; c,负责主导品质异常案例的处理过程; d,负责对责任单位的改善结果进行追踪确认

异常责任单位: a负责品质异常的原因分析,提出临时措施及长期改善对策并执行。 生产部: a负责品质异常的改善和预防措施的实施及验证改善措施的有效性; 其它相关单位: a在需要时进行异常改善的配合 4.3 出货品质异常: 品质部: a负责将品质异常通知各部门及确定责任部门; b负责异常改善后的跟踪确认; c负责处理客户抱怨 异常责任单位: a负责品质异常的原因分析,提出临时措施及长期改善对策并执行。 生产部: a负责品质异常的改善和预防措施的实施及验证改善措施的有效性; 营业部: a负责将客户抱怨反馈给相关部门。 其它相关单位: a在需要时进行异常改善的配合 五、工作程序: 5.1 进料品质异常: 5.1.1 依相关检验标准判定不合格,针对不合格物料标示“不合格”,并立即移至不良品区域。 5.1.2 异常成立4小时内开立《品质异常联络单》通知采购。 5.1.3 采购接《品质异常联络单》后4小时内转责任供应商。 5.1.4 供应商需于1个工作日内针对异常物料提出临时对策,如对异常内容有疑问,需在4 小时与品质相关人员确认清楚。 5.1.5 供应商必须在《品质异常联络单》要求的期限前(如无明确要求,默认为《品质异常联络单》发出后2个工作日内)回复完整的改善方案。 5.1.6 品质部对供应商回复内容进行确认,针对改善措施不合格部分予以退件,要求供应商重新回复。改善措施合格,则报告予以归档,跟踪后续进料品质状况,依5.1.7执行。 5.1.7 针对供应商改善后产品加严检验,连续追踪3批无异常予以结案,转正常检验;连续追踪3批中途发现不良现象仍存在,则重复5.1.2-5.1.7。 5.1.8 如供应商改善措施回复后连续2个月无进料,则强制结案,后续进料依正常检验执行。 5.1.9

第6章 Delphi程序异常处理与调试技术

第六章程序异常处理与调试技术 在Delphi中有两种程序错误,一种是编译错误,在程序编辑阶段就可以由编译器发现并给出提示。另外一种是运行错误,这类错误不能在编译阶段查出,只能在程序执行时发现,称为运行错误。 Delphi提供了一种机制来处理运行错误,保护程序的正常执行,这种机制就是异常处理。异常处理的方法是把正常的执行程序同错误的处理程序分离开来,这样可以保证在没有错误时,程序正常执行,当发生错误时,执行错误处理部分的程序,然后程序跳出保护模块,继续执行后续的程序。 6.1 Object Pascal异常的种类 异常的种类:Delphi内建的异常类,程序员自定义的异常类。 异常基类及其属性和主要方法:在Delphi中,所有异常的基类是Exception 类。所有其他异常类都是由该类派生而来。 1. exception属性 该类有两个基本属性:HelpContext和Message。 (1)Exception.HelpContext属性 该属性的定义如下: ?Type ThelpContext= -MaxLongint..MaxLongint; ?Property HelpContext:ThelpContext; HelpContext是ThelpContext类的一个实例,它提供了与异常对象联系在一起的上下文相关帮助信息的序列号。该序列号决定当发生异常时用户按F1键显

示的一个异常错误的帮助信息。 (2)Exception.Message属性 该属性的定义如下: property Message: string 该属性存储异常发生时的错误信息。可以通过该属性在提示错误对话框中显示错误信息字符串。 2.exception方法 (1)Exception.Create方法 该方法的定义形式为: Constructor Create(Const Msg: String); 该方法用来产生一个带有一条简单提示信息的对话框,对话框中的提示内容由Msg提供 (2)Exception.CreateFmt方法 该方法的定义格式如下: Constructor CreateFmt(Const Msg:String;Const Args:Array of Const) ; 该方法用来产生一个带有格式化字符串提示信息的对话框,格式化的字符串由Msg和Args数组共同提供,其中数组Args负责提供用于格式化的数值。 (3)Exception.CreatHelp方法 该方法的定义格式如下: Constructor CreateHelp(Const Msg:String; AhelpContsxt:Integer) ; 该方法产生一个带有一条简单提示信息和上下文帮助序列号的提示对话框。其中Msg参数包含了显示在异常对话框中的运行错误信息。AhelpContext参数包

第五章Java语言异常处理-实验题目

第五章Java语言异常处理--实验题目 一、实验目的 1. 掌握Java的异常处理机制。 2. 掌握try、catch、throws和finally这5个关键字的用法。 3. 掌握成员的几个异常类。 4. 掌握自定义异常的使用。 二、实验内容 1.编写程序,从键盘上输入两个数。将第一个数除以第二个数并显示结果;处理所有可能的异常。 2.写出下面程序运行的结果: 3.写出下列程序的输出结果。

4.有下列程序: 若用下面方式执行该程序,则baz的值为( )。 java Test Red Green Blue (A)“”(B)null (C)"Red”(D)”BIue”(E)”Green”(F)代码不能编译(G)程序抛出异常5.有下列程序: 该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常 6.有下列程序:

该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常7.修改下列程序的错误之处。 8.写出下列程序的运行结果。

9.编写一个程序,要求从键盘输入一个double型的圆的半径,计算并精出其面积。 测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。10.编写一个应用程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打印出字符串参数。添加一个finally块并打印一条消息。 11.创建一个自定义的异常类,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法.令其打印出保存下来的String对泉。再编写一个类,在main()方法中使用try--catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常井打印出传递的String消息。

实验 异常处理

实验报告六 一【实验目的】 1.掌握异常的基本概念。 2.理解异常处理机制。 3.掌握创建自定义异常的方法。 二【实验内容】 Java提供了异常处理机制,当程序中发生异常时,程序产生一个异常事件,相应地生成异常对象。系统从生成对象的代码开始,沿方法的调用栈逐层回溯,寻找相应的处理代码,并把异常对象交给该方法处理。 实验1 录入如下源程序: 1、 public class Ex7_1 { public static void main(String[] args) { String output[] ={ "The ","quick ","brown ","fox ","jumps ", "over ","the ","lazy ","dog."}; int i =0; while(i<12){ System.out.print(output[i++]); } System.out.println("haha..."); } } 2、保存程序Ex7_1.java,编译运行程序,观察并分析程序的运行结果。The quick brown fox jumps

over the lazy dog.Exception in thread "main" https://www.wendangku.net/doc/065566832.html,ng .ArrayIndexOutOfBoundsException at Ex7_1.main(Ex7_1.java:9),可以看出,在第9行出现了数组下标越界的异常,导致了程序的中止,而程序的最后一条语句“System.out.println("haha...");”没有执行。 运行结果: 3、我们修改程序,加入异常处理,当程序发生异常时,经过异常处理后,程序还可以继续执行。 异常处理代码格式: try{ //可能有问题的代码 } catch(ArrayIndexOutOfBoundsException e) { //处理代码 break; } catch(Exception e1) { /// } catch(…..){ } 修改代码在可能出错的地方加入: try{ // } catch(ArrayIndexOutOfBoundsException e) {

JAVA基础第6章异常处理机制_练习题

第6章异常处理机制 一、选择题 1.下列关于异常的说法正确的是(B)。 A.异常是编译时的错误 B.异常是运行时出现的错误 C.异常就是程序错误,程序错误就是异常 D.以上都不对 2.下列哪个类是异常类的父类(根类)(A)。 A.Exception B.ArithmeticException C.NullPointerException D.ArrayIndexOutofBoundException 3.有关下列异常处理机制叙述正确的是(C)。 try{ 可能产生异常的语句块; }catch(exceptiontype1 e){ 处理异常e的语句块; }catch(exceptiontype2 e){ 处理异常e的语句块; } …… finally{ 最终处理语句块; } A.try子句可能有多个,catch子句可能有多个,finally子句必须有。 B.多个catch参数中的异常类可以有父子关系,但父类异常的catch子句应该在子类异常的catch子句前面。 C.如果try子句没有抛出任何异常,则跳过catch子句,转移到finally子句继续执行。 D.当try子句监视的语句块抛出异常时,运行时系统会根据catch子句的顺序,从第一个开始,逐个查找能够捕获该异常的catch子句并执行catch子句内的语句块以完成对异常的处理,然后继续执行后面的catch子句,最后转移到finally子句,执行该子句中的语句块。4.有关throw和throws的说法中不正确的是(C)。 A.throw的作用是抛出异常,后面加的是异常类的对象。 B.throws的作用是向外抛出异常即声明要产生的若干异常,后面加的是异常类的类名。 C.throws只能声明要产生的自定义异常,也就是后面只能加自定义异常类。 D.以上都不对。 5.下列程序运行结果是(C)。 public class E { public static void main(String argv[]){ E m = new E(); System.out.println(m.amethod()); } public int amethod(){

java异常处理例题代码教学文稿

j a v a异常处理例题代 码

App9_1.java:输出一个数组的所有元素,捕获数组下标越界异常和除娄为0异常。public class App9_1{ public static void main(String args[]){ int i; int[] a={1,2,3,4}; for(i=0;i<5;i++) System.out.println(" a["+i+"]="+a[i]); System.out.println("5/0"+(5/0)); } } App9_2.java:使用try-catch-finall语句对程序中的异常进行捕获与处理。 public class App9_2{ public static void main(String args[]){ int i; int a[]={1,2,3,4}; for (i=0;i<5;i++){ try{ System.out.print("a["+i+"]/"+i+"="+(a[i]/i)); } catch(ArrayIndexOutOfBoundsException e){ System.out.print("捕获到了数组下标越界异常"); } catch(ArithmeticException e){ System.out.print("异常类名称是:"+e); //显示异常信息 } catch(Exception e){ System.out.println("捕获"+e.getMessage()+"异常!"); //显示异常信息 } finally{ System.out.println(" finally i="+i); } } System.out.println("继续!!"); } } App9_3.java:使用throw语句在方法中抛出异常。 public class App9_3{ public static void main(String args[]){ int a=5,b=0; try{ if (b==0) throw new ArithmeticException(); //抛出异常,不是必须的 else System.out.println(a+"/"+b+"="+a/b); //若不抛出异常,则运行此行

java考试题库第六章.docx

第六章异常和异常处理 一选择题 6?1 .下列关于异常的描述中,错误的是(B) A.异常是一种经过修正后程序仍可执行的错误 B.异常是一种程序在运行中出现的不可恢复执行的错误 C.不仅Java语言有异常处理,C++语言也有异常处理 D.岀现异常不是简单结束程序,而是执行某种处理异常的代码,设法恢复程序的执行 6?2.下列关于异常处理的描述中,错误的是(D) A.程序运行时异常由Java虚拟机自动进行处理 B.使用try-catch-finally语句捕获异常 C.使用throw语句抛出异常 D.捕获到的异常只能用当前方法中处理,不能用其他方法中处理 6?3.下列关于try-catch-finally语句的描述中,错误的是(A) A?try语句后面的程序段将给出处理异常的语句 B?catch ()方法跟在try语句后面,它可以是一个或多个 C. catch ()方法有一个参数,该参数是某种异常类的对彖 D?finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用 6?4.下列关于抛出异常的描述中,错误的是(D) A.捕捉到发牛的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理 B.在说明要抛出异常的方法吋应加关键字throw<异常列表〉 C.v异常列表〉中可以有多个用逗号分隔的异常 D.抛岀异常的方法中要使用下述抛出异常语句:throw<异常名〉;其中,v异常名>是异常类的类名6?5.下列关于用户创建自己的异常描述中,错误的是(D) A.创建自己的异常应先创建一个异常类 B.为实现抛出异常,须在可能抛出异常的方法中书写throw语句 C.捕捉异常的方法是使用try-catch-finally语句格式 D.使用异常处理不会使整个系统更加安全和稳定 二判断题 6?1 .异常是一种特殊的运行错误的对象。(对) 62异常处理可以使整个系统更加安全和稳定。(对) 6?3.异常处理是在编译时进行的。(错) 6-4.Java语言中异常类都是https://www.wendangku.net/doc/065566832.html,ng.Throwable的子类。(对) 6-5.Throwable类有两个子类:Enor类和Exception类。前者由系统保留,后者供应用程序使用。(对)6?6.异常通常是指Error类和Exception类。(错) 6-7.Exception 类只有一个子类为RuntimeException o(错) 68在异常处理屮,出现异常和抛出异常是一回事。(错) 6?9.运行时异常是在运行时系统检测并处理的。(错) 6-10.使用try-catch-finally语句只能捕获一个异常。(错) 6?11 ?捕获异常时try语句后面通常跟有一个或多个catch ()方法用来处理try块内牛成的异常事件。(对)6?12?使用finally语句的程序代码为该程序提供一个统一的的出口。(对) 6?13.抛出异常的方法说明中要加关键字throws,并在该方法屮还应添加throw语句。(对) 6?14.创建异常类时要给出该异常类的父类。(对) 6J5.如果异常类没有被捕获将会产生不正常的终止。(对) 三分析程序的输出结果 6?1. Exer6_l.java public class Exer6_l

java异常处理例题代码

App9_1.java:输出一个数组的所有元素,捕获数组下标越界异常和除娄为0异常。public class App9_1{ public static void main(String args[]){ int i; int[] a={1,2,3,4}; for(i=0;i<5;i++) System.out.println(" a["+i+"]="+a[i]); System.out.println("5/0"+(5/0)); } } App9_2.java:使用try-catch-finall语句对程序中的异常进行捕获与处理。 public class App9_2{ public static void main(String args[]){ int i; int a[]={1,2,3,4}; for (i=0;i<5;i++){ try{ System.out.print("a["+i+"]/"+i+"="+(a[i]/i)); } catch(ArrayIndexOutOfBoundsException e){ System.out.print("捕获到了数组下标越界异常"); } catch(ArithmeticException e){ System.out.print("异常类名称是:"+e); //显示异常信息 } catch(Exception e){ System.out.println("捕获"+e.getMessage()+"异常!"); //显示异常信息 } finally{ System.out.println(" finally i="+i); } } System.out.println("继续!!"); } } App9_3.java:使用throw语句在方法中抛出异常。 public class App9_3{ public static void main(String args[]){ int a=5,b=0; try{ if (b==0) throw new ArithmeticException(); //抛出异常,不是必须的 else System.out.println(a+"/"+b+"="+a/b); //若不抛出异常,则运行此行

实验八 异常处理

实验八异常处理 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 了解Java 中异常处理(exception)的作用。 掌握异常处理的设计方法。 【实验要求】 理解系统异常处理的机制和创建自定义异常的方法。 【实验步骤】 一.了解异常处理机制 1.错误与异常 在程序执行期间,会有许多意外的事件发生。例如,程序申请内存时没有申请到、对象还未创建就被使用、死循环等,称为运行错误。根据错误的性质将运行错误分为错误与异常两种类型。 (1)错误 程序进入了死循环或内存溢出,这类现象称为错误或致命性错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其它程序干预,否则会一直处于一种不正常的状态。 (2)异常 运算时除数为0,或操作数超出数据范围,打开一个文件时发现文件不存在,网络连接中断等等,这类运行错误现象称为异常。对于异常情况,可在源程序中加入异常处理代码,当程序出现异常时,由异常处理代码调整程序运行流程,使程序仍可正常运行直到正常结束。 由于异常是可以检测和处理的,所以产生了相应的异常处理机制。而错误处理一般由系统承担。 对于一个应用软件,异常处理机制是不可缺少的。程序员必须在程序中考虑每一个可能发生的异常情况并进行处理,以保证程序在任何情况下都能正常运行。事实证明,一个仔细设计了异常处理的程序,可以长时间的可靠运行,而不容易发生致命的错误,如程序被迫关闭、甚至系统终止等等。所以学会进行异常情况处理对于想编写功能完善且具有实用价值的程序员来说是必不可少的。 2.异常发生的原因 (1)Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:·表达式的计算违反了Java 语言的语义,例如整数被0 除。 ·在载入或链接Java 程序时出错。 ·超出了某些资源限制,例如使用了太多的内存。 (2)Java 程序代码中的throw 语句被执行。 (3)异步异常发生。异步异常的原因可能有: ·Thread 的stop 方法被调用。 ·Java 虚拟机内部错误发生。 3.异常处理机制 发生异常后,怎么处理异常呢?Java 提供了异常处理机制来处理异常。分为两个步骤:(1)抛出异常

java异常处理试题及答案

异常处理练习题 一、选择题 1.java中用来抛出异常的关键字是 (C) A、try B、catch C、throw D、finally 2.关于异常,下列说法正确的是(A) A、异常是一种对象 B、一旦程序运行,异常将被创建 C、为了保证程序运行速度,要尽量避免异常控制 D、以上说法都丌对 3.(A)类是所有异常类的父类。 A、Throwable B、Error C、Exception D、AWTError 4.java语言中,下列哪一子句是异常处理的出口(C) A、try{…}子句 B、catch{…}子句 C、finally{…}子句 D、以上说法都丌对 5.下列程序的执行,说法错误的是 (C) public class MultiCatch { public static void main(String args[]) { try { int a=args.length; int b=42/a; int c[]={1}; c[42]=99; System.out.println(“b=”+b); } catch(ArithmeticException e) { System.out.println(“除0异常:”+e); } catch(ArrayIndexOutOfBoundsException e) { System.out.println(“数组超越边界异常:”+e); } } } A、程序将输出第15行的异常信息 B、程序第10行出错 C、程序将输出“b=42”

D、程序将输出第15和19行的异常信息 6.下列程序的执行,说法正确的是(D) class ExMulti { static void procedure() { try { int c[]={1}; c[42]=99; } catch(ArrayIndexOutOfBoundsException e) { System.out.println(“数组超越界限异常:”+e); } } public static void main(String args[]) { try { procedure(); int a=args.length; int b=42/a; System.out.println(“b=”+b); } catch(ArithmeticException e) { System.out.println(“除0异常:”+e); } } } A、程序只输出第12行的异常信息 B、程序只输出第26行的异常信息 C、程序将不输出异常信息 D、程序将输出第12行和第26行的异常信息 7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。class TrowsDemo { static void procedure() throws IllegalAccessExcepton { System.out.println(“inside procedure”); throw__new_____IllegalAccessException(“demo”);

实验5 异常处理

实验五:java异常处理 实验目的: 1.了解Java异常处理机制的优点 2.了解Java异常的种类 3.掌握异常的捕获与处理 4.掌握异常的抛出 5.熟悉用户自定义异常 6.了解异常处理原则 实验步骤: 一.异常捕获和处理的练习 1. 下面源代码要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。 2. 源代码如下: 3. 编写并完善上述代码,编译运行代码,查看程序执行结果。 ●按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里哪些语句没有被执行,为什么?块外哪些语句可被执行到,为什么? (1) 修改a=0,保持c[2]=200; (2) 保持a=10,修改c[3]=200; (3) 修改a=0,修改c[3]=200。

二.自定义异常的定义和使用的练习 1. 设计两个数求商的程序,并设定一个异常类,判断两数相除时,除数是否为零,当除数为零时将抛给自定义异常类,并输出除数为零。 2. 部分源代码如下: 3. 分析上述代码,将division方法体中的代码补充完整,判断输入的除数是否为0。如果为0,要抛出Di visorIsNotZeroException异常;如果不为0,则计算这个数的商。并按要求创建自定义异常类DivisorIsNotZ eroException。在main方法中已经给出如何输入数据和调用所写方法。 4. 代码完善后,编译运行代码,输入下表数据进行验证,如果抛出异常填“Y”,否则填“N”。 表6-2-1 测试数据 ●分析自定义异常是如何创建的?

import java.util.Scanner; class DivisorIsNotZeroException extends Exception { public DivisorIsNotZeroException(String message) { super(message); } } public class MyExceptionTest { public static double division(double dividend, double divisor) throws DivisorIsNotZeroException { Double d = new Double(divisor); if (0 == https://www.wendangku.net/doc/065566832.html,pareTo(0.0)) { throw new DivisorIsNotZeroException("除数为0"); } else { return (dividend / divisor); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入被除数:"); double dividend = sc.nextDouble(); System.out.println("请输入除数:"); double divisor = sc.nextDouble(); try { double result = division(dividend, divisor); System.out.println("计算的商= " + result); } catch(DivisorIsNotZeroException e) { e.printStackTrace(); System.out.println(e.getMessage()); } } }

java 异常处理题目

狂翔软件自定义异常章节题目 一.选择题: 1.关于异常的定义,下列描述中最正确的一个是() a)程序编译错误 b)程序语法错误 c)程序自定义的异常事件 d)程序编译或运行中所发生的可预料或不可预料的异常事件,它会引起程序的中断,影响程 序的正常运行 2.抛出异常时,应该使用下列哪个子句 a)thow b)catch c)finally d)throws 3.自定义异常类时,可以通过对现列哪一项进行继承() a)Error 类b)Applet类c)Exception类及其子集d)AssertionError类 4.当方法产生该方法无法确定该如何处理导演时,应该如何处理 a)声明异常B)捕获异常C)抛出异常D)嵌套异常 5.对于try和catch子句的排列方式,下列哪一项是正确的 a)子类异常在前,父类异常其后 b)父类异常在前,子类异常其后 c)只能有子类异常 d)父类异常和子类异常不能同时出现在同一个try程序段内 6.下列java语言的常用异常类中,属于检测异常的是() a)ArithmeticException b)FileNotFoundException c)NullPointerException d)IOException 7.下面描述中,错误的一项是() a)一个程序抛出异常,任何其他在运行中的程序都可以捕获 b)算术溢出需要进行异常处理 c)在方法中监测到错误但不知道如何处理错误时,方法就声明一个异常 d)任何没有被程序捕获的异常将最终被默认处理程序处理 8.下列描述中,正确的一个是 a)内存耗尽不需要进行异常处理 b)除数为零需要进行异常处理 c)异常处理通常比传统的控制结构流效率更高 d)编译器要求必须设计实现优化的异常处理 9.下列错误不属于Error的是 a)动态链接失败b)虚拟机错误C)线程死锁D)被零除 10.下列描述中,错误的一个是() a)异常抛出点后的代码在抛出异常后不再执行 b)任何没有被程序捕获的异常将最终被缺省处理程序处理 c)异常还可以产生于JA VA虚拟机内部的错误 d)一个TRY代码段后只能跟有一个CATCH代码段 11.下列描述中不属于java异常处理机制优点的一项是 a)把错误处理代码从正常代码中分离出来

品质异常处理流程

品质异常处理流程 1 目的: 为了使品质异常发生时处理过程有据可依有规可循,使重大品质异常能在规定的时间内得到有效改善,防止相同问题重复发生,降低品质成本,确保产品质量符合本公司或客户需求2 范围: 来料检验、制程控制、出货检验 3 定义:重大品质异常是指品质问题严重有必要开具《品质异常报告》,并由品质部进行特别跟进的质量事件 3.1来料检验 3.1.1当进料检验需要品质工程师确认时开具《品质异常报告》 3.2制程控制 3.2.1 制程外观不良达10%时开具《品质异常报告》 3.2.2 制程组装不良达8%时开具《品质异常报告》 3.2.3 制程性能不良达3%时开具《品质异常报告》 3.2.4 制程条件不能满足工艺需求而导致停线开具《品质异常报告》. 3.2.5 制程连续3天重复出现的品质问题开具《品质异常报告》 3.3出货检查 3.3.1 出货检查外观不良达5%时开具《品质异常报告》 3.3.2 出货检查性能不良达2% 时开具《品质异常报告》 3.3.3 出货检查连续3天同一款产品重复出现同一个的品质问题开具《品质异常报告》 备注:以上描述的不良范围每个月月底按照品质异常汇总进行修订,逐步强化。 4 运作流程: 4.1 在生产过程中,当作业人员发现产品出现品质异常时第一时间通知生产组长确认,由生产组长开出《品质异常报告》给到生产主管确认后交予生产文员进行编档之后交品质工程师。 4.2《品质异常报告》的填写必须清楚地写明事件发生的日期、时间、地点、批量数、批号、异常数量、不良率、异常状况的描述 4.3 品质工程师对异常的现象进行初步确认,并在《品质异常报告》签收,然后找到PIE,由PIE对异常进行分析处理。 4.4 PIE接到《品质异常报告》后,需在一个小时内对原因进行分析及给出临时方案,如一个小时完成不了,需上报上级主管给予协助处理,现场原因分析清楚后,PIE针对生产实际状况制订临时方案,临时方案里面必须包括仓库原材料库存,生产在制品,成品的处理,并将临时方案填写至《品质异常报告》中; 4.5 由PIE,品质,采购对临时方案进行评审确认是否可行,如异常是设计或者制程不良时,无需采购对临时方案进行评审,当异常为来料不良时,才需采购对此加工方案进行评审)。 4.6 生产部按照评审合格的的方案进行实施。由PIE对异常临时解决方案进行指导,品质部持续跟踪处理结果是否可行。 4.7 品质工程师按照PIE给出的原因分析找到相关责任部门,要求半个工作日内(采购部因需与供应商沟通,可与品质部协商延长此时间,但需在报告上注明。)给予出长期纠正预防措施。(涉及到来料问题,需采购联系供应商解决,并由PIE及品质工程师对供应商回复进行跟进验证). 4.8 品质工程师依《品质异常报告》进行跟踪验证、确认效果 4.8.1 责任部门是否在规定时限内实施改进措施 4.8.2责任部门是否在规定时限内完成改进措施

Java作业实验六---异常处理

提交方式: 把文件名改为学号姓名,提交文档和源码(只需提交最顶层包文件夹) 实验六异常处理 一、实验目的 1.学会利用Try-catch-finally语句来捕获和处理异常; 2.掌握自定义异常类的方法。 二、实验要求 1.通过编程理解系统异常处理的机制和创建自定义异常的方法。 2.掌握基础类。 三、实验内容 (一)异常处理机制 1. 编写使用try…catch 语句处理异常的程序文件Demo4_1.java,

编译并运行程序,并把运行结果复制在下面 。 注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception是ArithmeticException的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。 2、源文件是Demo3_2.java。要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。 【思考】 ①先运行上面程序,观察运行结果。 ②按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那些语句没有被执行,为什么? 块外那些语句可被执行到,为什么? 修改a=0,保持c[2]=200; 保持a=10,修改c[3]=200, 修改a=0,修改c[3]=200; ③再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么? 3、编写Demo3_3.java 程序,计算两数相除并输出结果。使用两个catch子句,分别捕捉除数为0的异常和参数输入有误异常。源代码如下:

相关文档