c异常处理习题答案
异常处理习题讲解

© Dr.Leabharlann ihui• 3.判断题 • (1)try语句块在指定的异常引发后,对异常进行相应处理 。( X ) • (2)如果异常触发后局部变量num没有被赋值,不使用 retun也可跳出方法执行。( X ) • (3)MemberAccessException表示访问错误,类型成员不 能被访问。( V ) • (4)预定义的“++”和“--”一元运算符不参与checked检查 和unchecked检查。( X )
© Dr.Lihui
• (5)解决整型算术运算溢出这个问题有 改变编译器的设置 和使用校验(checked)语句 两种途径。 • (6)若运算是常量表达式,执行checked语句则产生编译错 误:The operation overflows at complie time in checked mode 。 • (7)finally语句包含异常处理程序,清理代码。 • (8)unchecked语句的作用是显式地标明了它所作用的语句 块或表达式不需要进行溢出检查。
© Dr.Lihui
• (5)运算是非常量表达式,运行时会抛出溢出异常: OverFlowException异常。( V ) • (6)无论try块中的语句是否发生异常,总是执行finally块中的 语句。( V ) • (7)通常情况下,在finally块内放置的是清理资源的代码。( V ) • (8)在try-finally中可以加入catch用于处理语句块中出现的异常 。( V )
© Dr.Lihui
• (7)finally语句包含了:( D ) A.增加数据代码 B.执行代码列 C.捕捉程序 D.异常处理程序 • (8)关于finally语句说法正确的是( C ) A.不能用finally语句块来强制执行相关代码 B.finally块一般用于增加在try块中分配的任何资源 C.在try-finally中finally用于保证代码语句的执行 D.无论try块中的语句是否发生异常,都不会执行finally块 中的语句
异常判定标准与处理试题

异常判定标准与处理试题1、异常处理时效为()A、48HB、24H(正确答案)C、12HD、6H2、()负责原材料进料检验,达到异常标准作判退,并反馈SQE处理A、生管B、SQEC、IQC(正确答案)D、仓库3、()负责原材异常处理,追踪供应商有效改善A、生管B、SQE(正确答案)C、IQCD、仓库4、一个时间段为几个小时()A、2H(正确答案)B、1HC、4HD、5H5、X-RAY不良有()即停线B、1PCS(正确答案)C、2PCSD、4%6、裂片站不良()即启动异常A、1%B、2%(正确答案)C、2PCSD、3PCS7、SPI站()即启动异常机制A、1%B、2%C、2PCS(正确答案)D、3PCS8、()负责协助调查发生原因及执行有效改善方案A、制造(正确答案)B、工程C、生管D、品质9、()负责质量单位开出的异常单进行分析A 生管B 工程(正确答案)D 仓库10、()负责异常造成停线影响到出货并及时应对出货计划调整A 生管(正确答案)B 工程C 品管D 仓库11、SPI站同一位置同一时间段同一不良现象()启动异常A、3PCS(正确答案)B、1%(正确答案)C、5%D、0.5%12、AOI可以检测哪些不良现象()A、少锡(正确答案)B、空焊(正确答案)C、短路(正确答案)D、漏贴标签13、如下哪种情况会造成异常()A、机器当机无法生产B、生产/测试治工具未进行首件确认(正确答案)C、良品与不良品未区分(正确答案)14、如下哪些属于十大禁止()A、禁止不扫描上料(正确答案)B、禁止挪料生产(正确答案)C、禁止测试不看画面(正确答案)D、禁止测A扫B(正确答案)15、如下哪种情况会造成停线()A、人员未依静电防护作业B、测试程序版本错误(正确答案)C、OQC同一种不良发现两次(正确答案)D、人力不足16、哪些站别达到3%需要停线()A、SPI(正确答案)B、AOI(正确答案)C、目检(正确答案)D、总检(正确答案)17、下面哪项属于异常()A、人员未做静电防护(正确答案)B、生产测试工具未进行首件测试(正确答案)C、仪器未校验或未依规定进行日常保养D、其它的一些物体当住传感器18、下面哪项属于停线()A、良品不良品未区分B、未做首件检查(正确答案)C、锡膏未按管制要求使用(正确答案)D、人力不够19、下面哪项是异常开立基准()A、同一时间段不良达到1%(正确答案)B、IPQC稽核缺失C、6S稽核缺失D、同一时间段连续发生3PCS(正确答案)20、下面哪项是重大异常开立基准()A、缺件(正确答案)B、错料(正确答案)C、批量异常(正确答案)D、反向(正确答案)21、产线停线时间超过30分钟,钢板上锡膏回收搅拌后方可上线使用对(正确答案)错22、不良品返工/返修需按标准流程作业,自检合格后须重新经品质复检后方可流入下一工对(正确答案)错23、ABL启动后,需要填写异常单或者停线通知单,反馈责任单位分析改善对错(正确答案)24、任何异常都需要做风险评估,并填写风险评估报告对错(正确答案)25、ABL启动后,需针对风险批产品进行HOLD,通知责任单位分析及改善,并追踪重工结果对(正确答案)错26、不管什么异常,都属于重大异常对错(正确答案)27、工程部:负责对设计不良或产品标准不明确的整改制订纠正与预防措施;对制造不良的纠正与预防措施给予技术支持对(正确答案)错28、品质部:负责对发现或反馈来的产品品质异常进行检验判定、品质异常时的处理协调、不合格品的处置跟进,纠正与预防整改效果的验证、不合格信息传递与跟进等对(正确答案)错29、为产品有缺陷避免争议所制定对(正确答案)错30、目的:为了规范、及时、高效地处理制程品质异常问题,保障制程产品品质,特制订本标准对(正确答案)错31、产线风险批应为制造领班组长评估对错(正确答案)32、产线异常应为生管开立对错(正确答案)33、SPC是统计制程管理对(正确答案)错34、超过3spc管制范围属于异常对(正确答案)错35、OQC同一批批退一次属于异常对错(正确答案)36、SOP规定错误料号规格等属于异常对(正确答案)错37、测试连续3片同一问题为异常,连续5片以上停线对(正确答案)错38、材料辅材超过使用期限属于异常对错(正确答案)39、机器参数设定错误属于停线对(正确答案)错40、人力无法满足开线属于异常对错(正确答案)。
C#程序设计:异常单元测试与答案

一、单选题1、C#中用try…catch…捕获的异常属于()错误A.运行B.逻辑C.语法D.拼写正确答案:A2、在()块中放置异常的处理方法A.finallyB.throwC.tryD.catch正确答案:D3、使用关键字()可以抛出异常,如抛出自定义的异常和系统异常。
A.throwB.thisC.newD.Exception正确答案:A4、以下异常处理结构中,错误的是()A.try{} catch{} finally{}B.try{} catch{}C.catch{} finally{}D.try{} finally{}正确答案:C5、下列关于异常处理的表述,正确的是()A.try所抛出的异常一定能被catch捕获B.catch只能出现一次C.try、catch、finally必须同时出现D.无论异常是否抛出,finally的内容都会被执行正确答案:D6、以下代码的输出是()static void Main(string[] args){int m = 10;int n = 10;int[] a = new int[5];try{for (int i = a.Length; i > 0; i--){a[i] = i;n = 1 / (n - m);}}catch (DivideByZeroException e1){Console.Write("除零异常,");}catch (IndexOutOfRangeException e2) {Console.Write("数组越界," );}catch{Console.WriteLine("产生异常");}finally{Console.WriteLine("异常处理完毕"); }}A.数组越界,产生异常B.除零异常,产生异常C.数组越界,异常处理完毕D.除零异常,异常处理完毕正确答案:C二、判断题1、异常对象都是从Exception类派生的。
项目9 异常处理.-习题答案

习题答案一、选择题1.以下保留字不用于异常处理逻辑的是( A)A.ifB.elseC.tryD.finally2.以下关于Python语言中try语句的描述中,错误是(B)A. 当执行try代码块触发异常后,会执行except后面的语句B. try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行C. try代码块不触发异常时,不会执行except后面的语句D. 一个try代码块可以对应多个处理异常的except代码块3.哪一个类是所有异常类的父类( C)。
A. TypeErrorB. ErrorC. ExceptionD. BaseException4. 在Python异常处理机制中,(C)子句的代码是无论是否有异常都要执行。
A. IfB. elseC. finallyD. Except5.在完整的异常语句中,语句出现的顺序正确的是(D)A.try->except->finally->elseB.try->else->finally->exceptC.try->finally->else->exceptD.try->except->else->finally二、编程题1. 编写程序通过raise引发一个ZeroDivisionError异常,捕获后输出“捕获到ZeroDivisionError”。
参考答案:try:raise ZeroDivisionErrorexcept ZeroDivisionError:print("捕获到ZeroDivisionError")2.编写程序,按照用户输入的边长计算正方形的面积,若边长为负值则抛出异常(正方形的面积公式:S=a*a)参考答案:def get_width():width = int(input("请输入正方形边长:"))assert width>=0 ,"输入的边长不符合规范"return widthdef cal_area():width = get_width()return width*widthdef show_are():try:print("执行show_area()方法")square_area = cal_area()print(f"正方形的面积是:{square_area}")print("正方形面积计算完成")except Exception as err:print(f"捕获到异常:{err}")show_are()3.编写程序实现对学生的Python课程期末成绩进行等级评定,大于等于90分的为“优秀”,80分到90分的(包括80分)的为“良好”,60分到80分的(包括60分)为“合格”,60分以下为“不合格”,最有把学生成绩打印出来。
(完整word版)异常处理练习题

异常处理练习题一、选择题1.java中用来抛出异常的关键字是A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.()类是所有异常类的父类。
A、ThrowableB、ErrorC、ExceptionD、AWTError4.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.下面程序抛出了一个“异常”并捕捉它。
异常处理流程试题及答案

异常处理流程试题及答案一、选择题1. 在Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B2. 下列哪个选项不是异常处理的组成部分?A. 异常抛出B. 异常捕获C. 异常声明D. 异常传播答案:C3. 在Python中,异常处理的关键字是?A. tryB. exceptC. finallyD. all of the above答案:D二、填空题1. 在Java中,当程序运行时发生异常,可以使用____关键字来捕获异常,并在____块中处理异常。
答案:catch;catch2. 在Python中,异常处理的语法结构为:try____except____。
答案:try;except三、简答题1. 请简述异常处理的流程。
答案:异常处理的流程通常包括以下步骤:- 检测异常:程序运行时,系统检测到异常。
- 抛出异常:系统将异常抛出,通知程序发生了错误。
- 捕获异常:程序通过try-catch块捕获异常。
- 处理异常:在catch块中编写代码来处理异常。
- 清理资源:无论是否捕获到异常,finally块中的代码都会被执行,用于资源清理。
2. 异常处理的好处是什么?答案:异常处理的好处包括:- 增强程序的健壮性:能够处理程序运行中出现的意外情况。
- 提高代码的可读性:将异常处理代码与正常业务逻辑分开,使代码更清晰。
- 避免程序崩溃:通过捕获和处理异常,防止程序因未处理的错误而崩溃。
- 资源管理:通过finally块确保资源(如文件、网络连接等)被正确释放。
四、编程题1. 编写一个Java程序,实现对数组索引越界的异常处理。
答案:```javapublic class ArrayIndexExceptionHandling {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};try {System.out.println(numbers[5]);} catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组索引越界异常:" + e.getMessage());}}}```。
C面向对象程序设计第12章异常处理

throw 0; //异常信息从函数内部 抛出
return x/y; }
12.3.3 多个catch语句
void Xhandlf(test) throw test;
else throw "Value is zero";
cout<<"Please input two integers:"; cin>>m>>n;
try
{ if (n==0) throw 0; cout<< (m/n)<<endl; 抛出一个整型异常
}
catch(int)
{
cout<<"Divided return -1;
by
0!"<<encdalt;ch语句捕获一个 整型异常并处理
}
return 0;
}
12.3.1 C++程序处理异常的一般形式
try{ // try Block
} catch (type1 arg){
//exception handling for type1 } catch (type2 arg){
//exception handling for type2 } //... catch (typeN arg){
示例:自定义的运行终止函数
#include <iostream> using namespace std; void myterm() //自定义的运行终止函数 {
cout<<"This is my terminater."<<endl; //...释放程序中申请的系统资源 exit(1); } int main() { //... try{
《异常处理管理规定》培训考核试题

《异常处理管理规定》培训考核试题1.当发生哪些异常时需要开停线通知单() [单选题]A.任一款产品综合不良超过 10%,电池盒烧机、自动工作等重缺陷有1例;(正确答案)B.异常对产品的功能有影响,且持续发生,技术部门已给出有效控制方案时;C.制程生产过程中外检岗位发现黑点不良1%;D.在制产品接到市场反馈,确认为一般级客诉,在排查现库存同样存在相同现象时;2.在异常处理时,以下哪项属于品质部的职责() [单选题]A.品质 PQE/QC只要负责异常问题的确认,按照《制程异常反馈单》给相关部门分析,不需要跟踪改善对策的效果确认;B.品质部负责开出异常单,反馈给生技,只要责任部门回复对策就好,不需要验证确认对策的有效性;C.负责异常物料处理以及重大异常发生导致停线时生产排期的重新确认和人员按排。
D.IQC/SQE负责来料异常物料的库存数据排査、隔离、退料,改善物料到料跟进与信息拉通,对供应商进料不良的改善跟踪及效果确认。
(正确答案)3.产线发生异常时是否需要向品质部反馈() [单选题]A.不需要,只需向生技部反馈B.需要(正确答案)C.不需要,可以自己私下处理即可D.以上都有对4.突发异常时以下哪项转线工时是合理的() [单选题]A.(小烟)流水线转线:30分钟(正确答案)B.(雾化芯/器,包装)精益线转线:30分钟C.(电池盒/杆)精益线转线:25分钟D.当异常发生时,PC要求临时排配当天没有计划的机型,物料临时领用的,转线时间 1H。
5.资材部职责是什么() [单选题]A.当发生特急异常与重大异常时以《停线通知单》提报停线,知会生产相关部门;B.负责异常物料处理有重大异常发生导致停线时不需要对生产的排期重新确认和人员安排C.负责异常物料处理以及重大异常发生导致停线时生产排期的重新确认和人员安排(正确答案)D.对工艺结构问题验证改善和ECR申请提出,并进行ECN变更跟进落实。
6.在异常处理时,以下哪项产线做法是正确的() [单选题]A.品质部负责开出异常单,反馈给生技,只要责任部门回复对策就好,不需要验证确认对策的有效性;B.负责异常问题点的反馈,针对问题自身先做排查及纠正;(正确答案)C.NPI/PE负贵对异常原因分析与责任归属的判定及异常造成的损失数据进行审核,所有异常临时处理方案以及制程异常的长期改善对策输出;D.领班负责异常问题点的反馈,针对问题不需要做排查及纠正7.下列哪项是生产部的职责() [单选题]A.异常现象改善措施的实施执行,针对不良品无需返修处理;B.NPI/PE负贵对异常原因分析与责任归属的判定及异常造成的损失数据进行审核,所有异常临时处理方案以及制程异常的长期改善对策输出;C.负责异常问题点的反馈,针对问题自身先做排查及纠正;(正确答案)D.品质 PQE/QC负责异常问题的确认,按照品质标准确认和复判并开出《制程异常反馈单》给相关部门分析,限度样品的制定,改善对策的效果确认和跟踪。
异常处理流程考试试题

一、选择题1.在Java中,使用哪个关键字来捕获异常?A.catch(正确答案)B.tryC.finallyD.throw2.当一个方法可能抛出多种类型的异常时,这些异常类型在方法声明中应该如何指定?A.使用逗号分隔(正确答案)B.使用分号分隔C.使用“或”符号分隔D.使用“与”符号分隔3.在异常处理中,finally块的主要目的是什么?A.捕获异常B.处理异常C.无论是否发生异常都执行代码(正确答案)D.声明可能抛出的异常4.在Java中,如果一个方法可能抛出检查型异常,那么在方法声明时应该使用哪个关键字来声明这些异常?A.catchB.throws(正确答案)C.tryD.finally5.当一个异常被抛出时,Java虚拟机(JVM)会按照什么顺序查找适当的异常处理器?A.从当前方法开始,沿着调用栈向上查找(正确答案)B.从main方法开始,沿着调用栈向下查找C.从当前方法开始,沿着调用栈向下查找D.从main方法开始,沿着调用栈向上查找6.在Java中,自定义异常类通常是从哪个类继承而来的?ng.Objectng.Throwableng.Exception(正确答案)ng.RuntimeException7.在异常处理中,使用哪个关键字可以重新抛出当前捕获的异常?A.catchB.throwsC.throw(正确答案)D.finally8.在Java中,如果一个方法内部抛出了一个未被捕获的检查型异常,那么这个方法应该如何声明?A.无需特别声明B.使用throws关键字声明可能抛出的异常(正确答案)C.使用try-catch块捕获异常D.使用finally块处理异常。
c加加语言考试题及答案

c加加语言考试题及答案1. 单选题:以下哪个关键字用于定义一个类?A. structB. classC. unionD. enum答案:B2. 判断题:在C++中,构造函数可以有返回值。
答案:错误3. 填空题:在C++中,使用____关键字可以定义一个友元函数。
答案:friend4. 多选题:以下哪些是C++的引用类型?A. 常量引用B. 右值引用C. 指针D. 左值引用答案:A, B, D5. 简答题:请解释C++中的虚函数是什么?答案:虚函数是C++中的一种成员函数,它允许在派生类中重写基类中定义的函数。
使用关键字virtual声明虚函数,使得在运行时可以动态绑定到对象的实际类型,而不是声明类型。
6. 编程题:编写一个C++函数,实现计算两个整数的和。
```cppint add(int a, int b) {return a + b;}```7. 单选题:C++中,以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. abstract答案:A8. 判断题:C++中的指针可以指向任何类型的数据。
答案:正确9. 填空题:在C++中,使用____关键字可以定义一个私有成员。
答案:private10. 多选题:以下哪些是C++中的异常处理关键字?A. tryB. catchC. throwD. finally答案:A, B, C11. 简答题:请解释C++中的模板是什么?答案:模板是C++中的一种通用编程工具,它允许编写与数据类型无关的函数和类。
通过模板,可以创建出适用于多种数据类型的函数和类。
12. 编程题:编写一个C++模板函数,实现计算两个参数的乘积。
```cpptemplate <typename T>T multiply(T a, T b) {return a * b;}```13. 单选题:C++中,以下哪个关键字用于定义一个静态成员?A. staticB. constC. volatileD. extern答案:A14. 判断题:C++中的静态成员函数可以访问类的非静态成员。
破解质量工程师异常处理的五大难题课后测试

破解质量工程师异常处理的五大难题课后测试单选题1、现场的特点是“不得不快速反应”,原因是(10分)A不停线恐不良剧增B停线则成本在增、机器在转、作业员在等C停线恐交期受损D以上都是正确答案:D2、当面临停线等现场质量问题,需要QRQC到场时,作为工程师部门经理、生产部门经理,需要在多长时间内到场(10分)A 5分钟之内B 10分钟之内C 20分钟之内D 30分钟之内正确答案:D3、在解决严重质量问题时,综合实战套路——四部曲中的异常“部曲”包括哪些步骤(10分)A出现、确认、界定、描述B排查、围堵、处置、过渡C调查、分析、确定、呈现D拟测、评估、执行、验证正确答案:A多选题4、处理现场质量问题的行动方案有哪些(10分)A排除/隔离B停止生产C停止出货D系统发CAR正确答案:A B C D5、在处理现场质量问题时,QRQC逐级上报规则包括哪些内容(10分)A问题发现区域的生产主管电话通知相关人员。
B如果电话联系不上相关人员,逐级电话通知BRT核心团队成员。
C如果相关人员时间冲突不能到现场,需要指派代理人员到现场。
D如果本人或代理人未在规定时限内到现场,则逐级电话通知BRT核心团队成员,直到有人来到现场参与问题解决。
正确答案:A B C D6、下列关于“客户抱怨与客户忠诚的原理”,说法正确的是(10分)A大约60%的抱怨者,如果他们的问题得到解决,则会继续购买。
B大约40%的抱怨者,完全不会在意问题是否得到解决。
C如果问题的解决速度很快,则继续购买的抱怨者比例可以上升到95%。
D抱怨处理速度要快,则损失能最大幅度地减小。
正确答案:A C D7、在解决严重质量问题时,措施策拟的常用思路和法则是(10分)A措施要基于根因,有针对性B防错是最有力的措施C措施常须横向、纵向展开D Process/MFG主防“发生”,Test/QA主防“流出”正确答案:A B C D8、不良品的处置种类有哪些(10分)A UAI特采B RTV退给供应商C Sorting挑选D Rework返工E Scrap报废正确答案:A B C D E判断题9、在收到客户投诉后,做好初始回应的要求包括快速、全面、清晰和守信,底线是至少符合公司内部规定及与该用户的合同。
异常处理参考答案

异常处理参考答案 LELE was finally revised on the morning of December 16, 2020一、【必做题】1.写出以下程序的运行结果。
Static double average(int[] a) throws NullPointerException {Try {Int sum = 0;for (int I = 0; I < ; i++) {Sum += a[i];}Return (((double) sum) / ;} catch (NullPointerException e) {“NullPointerException”);throw e;}}Public static void main(String args[]) {Try {Int a[] = null;average(a);} catch (NullPointerException e ) {“NullPointerException”);}“OK”);}NullPointerExceptionNullPointerExceptionOK2.编写一个方法,比较两个字符串。
假如其中一个字符串为空,会产生NullPointerException异常,在方法声明中通告该异常,并在适当时候触发异常,然后编写一个程序捕获该异常。
public class Main {public static void test(String s,String a ) throws NullPointerException {if(s==null||a == null) {throw new NullPointerException();}else{}}public static void main(String[] args) {Test 22 C. Test3 D. Test 45.编写应用程序,从命令行传入两个整型数作为除数和被除数。
异常处理练习题

异常处理练习题异常处理是编程中非常重要的一部分,它能有效地处理程序运行过程中可能出现的错误情况,提高程序的健壮性。
本文将通过一系列的异常处理练习题来帮助读者更好地理解异常处理的应用。
1. 数值相除异常处理在程序中,我们经常需要进行数值相除的操作。
当除数为0时,程序将会抛出一个除以零的异常。
为了避免程序崩溃,我们需要在这种情况下进行异常处理。
下面是一个示例代码:```pythontry:dividend = int(input("请输入被除数:"))divisor = int(input("请输入除数:"))result = dividend / divisorprint("结果为:", result)except ZeroDivisionError:print("除数不能为零!")except ValueError:print("请输入有效的数字!")```如果用户输入的除数为0,则会抛出`ZeroDivisionError`异常,我们在`except`块中捕获该异常并输出错误提示信息。
2. 文件操作异常处理在进行文件操作时,比如打开文件、读取文件内容等,往往会出现文件不存在、权限不足等问题。
为了保证程序的稳定运行,我们需要在进行文件操作时进行异常处理。
下面是一个示例代码:```pythontry:file = open("example.txt", "r")content = file.read()print("文件内容:", content)file.close()except FileNotFoundError:print("文件不存在!")except OSError:print("文件操作出错!")```如果打开的文件不存在,则会抛出`FileNotFoundError`异常,我们在`except`块中捕获该异常并输出错误提示信息。
设备异常处理试题及答案

设备异常处理试题及答案一、选择题1. 当设备出现异常时,首先应该进行的操作是什么?A. 立即关闭设备B. 检查设备是否有明显的损坏C. 继续使用设备,直到问题消失D. 忽略异常,继续工作答案:B2. 如果设备在运行过程中突然停止工作,以下哪项措施是不正确的?A. 检查电源连接B. 重启设备C. 检查设备的使用环境D. 立即更换设备答案:D3. 在处理设备异常时,以下哪项措施是必要的?A. 记录异常发生的时间B. 记录异常发生时设备的状态C. 忽略异常,继续操作D. 立即清理设备答案:A、B二、判断题4. 所有设备的异常都可以通过重启来解决。
()答案:错误。
重启设备可能解决一些软件问题,但并非所有异常都适用。
5. 在设备出现异常时,应该立即联系设备制造商或专业维修人员。
()答案:正确。
三、简答题6. 描述在发现设备异常时的标准处理流程。
答案:在发现设备异常时,应遵循以下流程:- 保持冷静,记录异常发生的时间和设备状态。
- 切断电源,确保安全。
- 检查设备外部是否有明显损坏或异常。
- 根据设备的用户手册进行初步故障排查。
- 如果无法自行解决问题,联系专业维修人员或设备制造商。
7. 为什么在处理设备异常时,记录异常发生的情况非常重要?答案:记录异常发生的情况对于诊断问题原因、采取正确的维修措施以及预防未来类似问题的发生至关重要。
详细记录可以帮助技术人员更快地定位问题,减少故障诊断时间,并有助于改进设备的维护和操作程序。
四、案例分析题8. 假设你是一名生产线上的技术员,某天你发现一台机器在生产过程中出现了异常噪音。
请描述你会如何处理这个问题。
答案:首先,我会立即停止机器的运行,以防止问题恶化。
然后,我会检查机器的外部,看是否有明显损坏或异物造成噪音。
接着,我会查阅机器的操作手册,了解是否有相关的故障排除指南。
如果无法自行解决问题,我会记录下异常噪音的特点和发生的时间,并立即报告给上级和维修团队,以便他们能够及时进行专业的检查和维修。
第20章 异 常 处 理

•
1-3
什么是异常
简单地说,异常就是程序在运行过程中, 简单地说,异常就是程序在运行过程中,由于使用环境的变化 及用户的操作而产生的错误。例如,内存不足时, 及用户的操作而产生的错误。例如,内存不足时,应用程序 请求分配内存,程序中出现了以零为除数的错误;打印机未 请求分配内存,程序中出现了以零为除数的错误; 打开,导致程序运行中挂接这些设备失败等, 打开,导致程序运行中挂接这些设备失败等,都会引发异常 对这些错误,应用程序如果不能进行合适的处理, 。对这些错误,应用程序如果不能进行合适的处理,将会使 程序变得非常脆弱,甚至不可使用。 程序变得非常脆弱,甚至不可使用。 异常处理对于编写健壮的软件来说无疑是非常重要的, 异常处理对于编写健壮的软件来说无疑是非常重要的,是否有 完善的异常处理机制也是评价某一程序设计语言优劣的一个 重要标准。 重要标准。
1-11
•
•
习题
3.分析以下程序的执行结果。 .分析以下程序的执行结果。
#include <iostream.> int Div(int x,int y) { if(y==O) throw y; return x/y; } int main() { try { cout<<"7/3="<<Div(7,3)<<endl; cout<<"9/O=飞<Div(9,0)<<endl; 飞 cout<<"8/4="<<Div(8,4)<<endl; } catch(int) { cout<<"Exception of dividing zero.”<<endl; } cout<<"It is OK."<<endl; }
异常处理作业

第九章异常处理一、选择题1、无论是否发生异常,都需要执行( C )A、try语句块B、catch语句块C、finally语句块D、return语句2、异常处理变量( C )。
A、应用public关键字B、可以应用protected关键字C、可以应用private关键字D、只能在异常处理方法内使用。
3、通常的异常类是(A )A、ExceptionB、exceptionC、CommonExceptionD、ExceptionShare4、异常产生的原因很多,常见的有(A )。
A、程序设计本身的错误B、程序运行环境改变C、软、硬件设置错误D、以上都是5、(C)是除0异常。
A、RuntimeExceptionB、ClassCastExceptionC、ArihmetticExceptionD、ArrayIndexOutOfBoundException6、下列描述中,对使用异常处理的原因描述错误的有( D )A、将错误处理程序与正常程序流分开,增加程序的可读性B、可以容易地指出异常在何处处理C、减轻程序员处理异常的任务D、增加语言的复杂机制7、读下面代码,哪个选项是正确的( C )import java.io.*;public class Test2{public static void main(String []args)throws IOException{i f(args[0]==”hello”)throw new IOException();}}A、没有错误,程序编译正确B、编译错误,不能够在main方法中抛出异常C、编译错误,IOException是一个系统异常,不能够由application程序产生D、没有输出结果8、当变异并且运行下面程序时会出现什么结果?( A )public class ThrowsDemo{static void throwMethod() {System.out.print("Inside throwMethod");throw new IOException("demo");}public static void main(String [] args){try{throwMethod();}catch(IOException e){System.out.println("Cauht"+e);}}}A、编译错误B、运行错误C、编译成功,但不会打印出任何结果D、没有输出结果9、执行下面程序的结果是什么?其中a=4,b=0 ( B )public static void divide(int a,int b){try{ int c = a / b; }catch(Exception e){System.out.println("Exception");}finally{System.out.println("Finally");}}A、打印Exception finallyB、打印FinallyC、打印ExceptionD、没有输出结果10、假定一个方法会产生非RuntimeException异常,如果希望把异常交给调用该方法的方法处理,正确的声明方式是什么?( A )A、t hrow Exc eptionB、throws ExceptionC、new ExceptionD、不需要指明什么11、阅读下面的代码段、try{tryThis();return;}catch(IOException x1){System.out.println(“exception 1”);Return;}catch(Exception x2){System.out.println(“exception 1”);Return;}finally{System.out.println(“finally”)}如果tryThis()抛出一个IOException,那么屏幕的输出是什么?( A )A、”exception 1”后面跟着”finally”B、” exception 2”后面跟着“finally”C、”exception 1”D、”exception 2””12、下列哪些内容不是异常的含义?( B )A、程序的语法错B、程序编译或运行中所发生的异常事件C、程序预先定义好的异常事件D、程序编译错误13、自定义的异常类可从下列哪个类继承?( D )A、Error类B、AWTErrorC、VirtualMachineErrorD、Exception及其子集14、当方法遇到异常又不知如何处理时,下列哪种做法是正确的?( A )A、捕获异常B、抛出异常C、声明异常D、嵌套异常15、如要抛出异常,应用下列哪种子句?( B )A、catchB、throwC、tryD、finally16、对于catch子句的排列,下列哪种是正确的?( B )A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关17、下列选项中属于异常的关键字是( C )A、publicB、InputStream C 、ExceptionD、abstract18、下列选项中属于Exception异常的是(D )A、ArithmeticExceptionB、nullPointerExceptionC、classcastExceptionD、以上都是19、以下是异常的处理,哪个选项是正确的(D)A、book()throws exceptionB、book(int a)exceptionC、book()throwsD、book()throw exception20、所有属于( B )子类的异常都是非检查型异常A、RuntimeExceptionB、ExceptionC、ErrorD、以上答案都不对21、Java编译程序对于( A )需要加强捕获或声明要求A、异常B、错误C、非检查型错误D、检查型异常22、如果试图捕获多个错误,可在( A )语句块的后面使用多个()语句块A、try catchB、catch tryC、finally tryD、以上答案都不对23、将需要处理异常作为( B )语句块的一个参数来进行声明A、tryB、catchC、finallyD、以上都不对24、try语句块可以(C )A、拥有惟一的一个catch语句块B、多个finally语句块C、一个或多个catch语句块D、以上答案都不对25、所有RuntimeException子类的异常都属于( C )A、致命错误 B 、逻辑错误 C 、检查型错误D、非检查型错误26、( D )是所有Exception和Error类的共同超类A、ThrowableB、CheckedExceptionC、CatchableD、RuntimeException27、Error和Exception是Throwable的两个直接子类,其中下列属于Error的直接子类的是( D )A、ThreadDeathB、LinkageErrorC、VirtualMachineErrorD、以上都是28、在try代码中声明的变量只能在该块的大括号( B )使用A、结束之前B、结束之后C、不清楚D、不用执行29、假定一个方法可能会产生非RuntimeException异常,如果希望把异常交给调用该方法的方法处理,正确的声明方式是(D)A、throws ExceptionB、throw ExceptionC、new ExceptionD、不需要指明什么30、try代码块中包含的是可能引起一个或多个异常代码,能够抛出异常的代码必须位于( A )代码块中。
Python语言选择题40道:异常处理.Tex

1.在Java中,以下哪个关键字用来处理异常?o A. into B. charo C. tryo D. float答案: C解析: try关键字用来定义可能抛出异常的代码块。
2.下列哪个是Java中用来捕捉异常的语句?o A. foro B. do whileo C. catcho D. switch答案: C解析: catch关键字用来定义捕捉到的异常类型。
3.在C语言中,用于处理异常的机制是什么?o A. try-catcho B. if-elseo C. signalo D. finally答案: C解析: C语言中使用signal信号处理机制来处理异常。
4.下列哪个是Java中异常的基类?o A. RuntimeExceptiono B. Erroro C. Throwableo D. Exception答案: C解析: Throwable是Java中所有异常和错误的基类。
5.Java中,以下哪个关键字用来抛出异常?o A. throwo B. throwso C. finallyo D. catch答案: A解析: throw关键字用来抛出一个异常实例。
6.在Java的try-catch-finally结构中,如果try块中没有异常发生,finally块中的代码会执行吗?o A. 会o B. 不会o C. 与是否定义catch块有关o D. 取决于finally块中异常处理的方式答案: A解析: 无论try块中是否发生异常,finally块中的代码都会执行。
7.当Java程序中抛出一个未检查异常(unchecked exception),需要在调用方法中捕获这个异常吗?o A. 需要o B. 不需要o C. 只有当它是检查异常时才需要o D. 只有在运行时才需要处理答案: B解析: 未检查异常(如NullPointerException)不需要在调用方法中捕获或声明。
8.在Java中,异常处理的流程正确的是?o A. try -> catch -> finallyo B. try -> finally -> catcho C. catch -> try -> finallyo D. finally -> try -> catch答案: A解析: 异常处理的正确流程是首先定义try块,然后跟catch块处理异常,最后是finally块。
第9章_输入输出和异常处理习题_参考答案

《面向对象程序设计》习题第9章输入输出和异常处理一、选择题(共20分,每题1分)二、填空题(共32分,每空2分)1. 系统指定的标准设备磁盘文件为对象内存中指定的空间2. fstream.h3.ASCII文件(文本文件)和二进制文件(字节文件)4. 文件流对象具体的磁盘文件5. 非零值06. open close 。
7.填空程序:#includevoid main(){ char buf[size];//文件对象返回为0,打开失败{ cout<<"Can't open the file test.txt."<<endl;abort(); //结束本程序}int i=1;{ cout<<i<<": "<<buf<<endl;i++;}}三、读程序写结果(共20分,每题4分)1.2.3.4.5.四、编程题(共28分)1. 一元二次方程ax2+bx+c=0有实数根的条件是b2-4ac≥0,编写程序,输入a、b、c,检查a、b、c是否满足以上条件,如不满足,由cerr输出有关出错信息。
#include<iostream>using namespace std;#include <iostream>using namespace std;#include <cmath>int main( ){ double a, b, c;double disc;cout << "Please Enter a,b,c:";cin >> a >> b >> c;if ( a == 0 ) cerr<<"二次项系数a的值不能为0!"<<endl;else{ disc = b*b-4*a*c; //计算平方根下的值if ( disc < 0 ) cerr<<"disc的值小于0!"<<endl;else{cout.precision(3);cout << "x1 = " << ( -b + sqrt(disc) ) / (2*a) << endl;cout << "x2 = " << ( -b - sqrt(disc) ) / (2*a) << endl;}}return 0;}2.定义一个Dog类,包含体重和年龄两个数据成员及相应的成员函数。
c++异常处理习题答案

String str1("This is C++");
String str2(str1);
}
catch(char* c){
cout<<c<<endl;
}
return 0;
}
5.2在5.1的基础上,重载数组下标操作符[],使之具有判断与处理下标越界功能。
解法一
#include <iostream>
B.一个try语句可以有多个catch语句
C.catch(…)语句可以放在catch语句组的中间
D.程序中try语句与catch语句是一个整体,缺一不可
3.5下列程序运行结果为(A)。
#include<iostream>
using namespace std;
class S{
public:
~S( ){cout<<”S”<<”\t”;}
try{ f( ); }
catch( char *)
{ cout<<"exception2"<<endl;}
cout<<"main function”<<endl;
}
void f( )
{T t;}
main function
constructor
exception
exception2
main function
try
{throw "exception";}
catch( char*)
{cout<<"exception”<<endl;}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C.catch(…)语句可以放在catch语句组的中间
D.程序中try语句与catch语句是一个整体,缺一不可
下列程序运行结果为(A)。
#include<iostream>
using namespace std;
class S{
public:
~S( ){cout<<”S”<<”\t”;}
解法一
#include <iostream>
#include <cstring>
using namespace std;
class String{
public:
String(const char*);
String(const String&);
~String();
char operator[](int);
delete[] sPtr;
}
char String::operator[](int subscript){
if(subscript<0 || subscript>strlen(sPtr))
throw(subscript);
return *(sPtr+subscript);
}
int main(){
try{
delete[] sPtr;
}
char String::operator[](int subscript){
if(subscript<0 || subscript>strlen(sPtr)){
char* out_of_index="Out of range in index of array";
throw(out_of_index);
strcpy(sPtr,s);
}
String::String(const String ©){
sPtr=new char[strlen+1];
if(sPtr==NULL)throw("Copy constructor abnormal");
strcpy(sPtr,;
}
String::~String(){
1.概念填空题
1.1C++程序将可能发生异常的程序块放在try中,紧跟其后可放置若干个对应的catch,在前面所说的块中或块所调用的函数中应该有对应的throw,由它在不正常时抛出异常,如与某一条catch类型相匹配,则执行该语句。该语句执行完之后,如未退出程序,则执行catch后续语句。如没有匹配的语句,则交给C++标准库中的termanite处理。
try
{throw "exception";}
catch( char*)
{cout<<"exception”<<endl;}
throw"exception";
}
~T( ) {cout<<"destructor";}
};
void main()
{cout<<"main function”<< endl;
}
cout<<"s=”<<s<<endl;
}
int fun( int i)
{if(i>=10)
throw i;
return a[i];
}
数组下标越界!
S=55
#include <iostream>
using namespace std;
void f();
class T
{public:
T( )
{cout<<"constructor"<<endl;
strcpy(sPtr,s);
}
String::String(const String ©){
sPtr=new char[strlen+1];
if(sPtr==NULL)throw("Copy constructor abnormal");
strcpy(sPtr,;
}
String::~String(){
D.throw语句抛出的异常可以不被捕获
关于函数声明float fun(int a,int b)throw,下列叙述正确的是()。
A.表明函数抛出float类型异常
B.表明函数抛出任何类型异常
C.表明函数不抛出任何类型异常
D.表明函数实际抛出的异常
下列叙述错误的是()。
A.catch(…)语句可捕获所有类型的异常
3.选择题
下列关于异常的叙述错误的是(A)。
A.编译错属于异常,可以抛出
B.运行错属于异常
C.硬件故障也可当异常抛出
D.只要是编程者认为是异常的都可当异常抛出
下列叙述错误的是()。
A.throw语句须书写在时语句块中
B.throw语句必须在try语句块中直接运行或通过调用函数运行
C.一个程序中可以有try语句而没有throw语句
}
return 0;
}
解法二
#include <iostream>
#include <cstring>
#include <stdexcept>
using namespace std;
class String{
public:
String(const char*);
String(const String&);
~CException() {}
void Reason() { cout <<"Exception:"<< m_nReason << endl; }
private:
int m_nReason;
};
void fn1(){
throw new CException(EXCEPTION_1);
}
int main(){
String str1("This is C++");
String str2(str1);
cout<<str1[3]<<endl;
cout<<str2[18]<<endl;
}
catch(char* c){
cout<<c<<endl;
}
catch(int i){
cout<<i<<"下标越界"<<endl;
try{
fn1();
}Hale Waihona Puke catch(CException* e){
e->Reason();
}
return 0;
}
void ShowStr(){cout<<sPtr<<endl;}
private:
char *sPtr;
};
String::String(const char *s){
sPtr=new char[strlen(s)+1];
if(sPtr==NULL)throw("Constructor abnormal");
};
char fun0() {
S s1;
throw(‘T’);
return‘0’;
}
void main(){
try{
cout<<fun0()<<”\t”;}
catch(char c){
cout<<c<<”\t”;}
}
A.S TB.O S TC.O TD.T
4.写出程序运行结果
#include <iostream>
throw表达式的行为有些像函数的函数调用,而catch子句则有些像函数的函数定义。函数的调用和异常处理的主要区别在于:建立函数调用所需的信息在编译时已经获得,而异常处理机制要求运行时的支撑。对于函数,编译器知道在哪个调用点上函数被真正调用;而对于异常处理,异常是随机发生的,并沿调用链逆向查找异常处理子句,这与运行时的多态是不一样的。
sPtr=new char[strlen(s)+1];
if(sPtr==NULL)throw("Constructor abnormal");
strcpy(sPtr,s);
}
String::String(const String ©){
sPtr=new char[strlen+1];
if(sPtr==NULL)throw("Copy constructor abnormal");
#include <iostream>
using namespace std;
enum{EXCEPTION_1 = 1, EXCEPTION_2, EXCEPTION_3};
class CException{
public:
CException(int nReason) { m_nReason = nReason; }
2.简答题
2.1C++中的异常处理机制意义,作用是什么?
当在try块中抛出异常后,程序最后是否回到try块中继续执行后面的语句?
什么叫抛出异常?catch可以获取什么异常参数?是根据异常参数的类型还是根据参数的值处理异常?请编写测试程序验证。