实验 4异常处理的练习(1)(2)

合集下载

异常判定标准与处理试题

异常判定标准与处理试题

异常判定标准与处理试题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、人力无法满足开线属于异常对错(正确答案)。

异常Exception处理_听韩顺平课笔记

异常Exception处理_听韩顺平课笔记
练习2: catch中的++i会执行,但是不return finally一定执行,返回4
练习3:
练习3答案: catch中的++i执行了,但不会直接返回,将i的值保存到临时变量temp中,继续执行finally块 finally对i进行自加一操作,输出i=4,finally块执行完毕 返回临时变量temp的值,3
4.常 见 五 大 运 行 时 异 常
空指针异常:
空指针异常实例:
算数异常:除以0
数组下表越界异常:
类型转换异常:
数字格式不正确异常:
5.异 常 练 习
编译异常:在编译期间就必须处理的异常,否则代码不能通过编译
常见的编译异常:
案例:
练习:查看代码是否有问题
6.异 常 处 理 机 制
异常处理的方式:两种 try-catch-finally(释放资源),程序员在代码中捕获发生的异常,自行处理,finally一定会执行,如果没有发生异常,catch代码块不执 行 throws,将发生的异常抛出,交给调用者(方法)来处理,最顶级的处理者就是JVM。JVM处理异常:1.输出异常信息 2.退出程序 如果程序员没有显示处理异常,默认throws
练习题2: 练习2答案:
没有命令行传值的话,先抛出数组下表越界异常: 练习3:
考点:try中代码抛出异常后,剩余的代码不会执行 练习4:
16.异 常 处 理 小 结
13.throw VS throws
throw VS throws 一栏表: throws跟的是异常类型,throw跟的是异常对象
测试题: 考点:finally 在 throw 之前执行
14.异 常 习 题 1
练习题1: 分析涉及异常:

java异常练习题

java异常练习题

java异常练习题Java异常练习题在Java编程中,异常处理是非常重要的一部分。

通过合理地处理异常,我们可以提高程序的稳定性和可靠性。

为了加深对Java异常处理的理解,下面我将给大家提供一些常见的Java异常练习题。

1. 编写一个程序,要求用户输入两个整数,然后计算它们的商并输出。

如果用户输入的第二个数为0,则抛出一个自定义的异常"除数不能为0"。

```javaimport java.util.Scanner;public class DivideByZero {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入两个整数:");int num1 = scanner.nextInt();int num2 = scanner.nextInt();try {if (num2 == 0) {throw new DivideByZeroException("除数不能为0");}int result = num1 / num2;System.out.println("结果为:" + result);} catch (DivideByZeroException e) {System.out.println(e.getMessage());}}}class DivideByZeroException extends Exception {public DivideByZeroException(String message) {super(message);}}```2. 编写一个方法,接收一个字符串参数,然后将字符串转换为整数并返回。

如果字符串无法转换为整数,则抛出一个自定义的异常"无法转换为整数"。

自然语言理解(App)习题参考答案

自然语言理解(App)习题参考答案

(b) G = ({A, S}, {0,1}, S, P) P: S A
NLPR, CASIA
0A0 | 1A1 0A0 | 1A1 | ε
2004-3-6
9
NLPR
第三章习题解答
3-2. 有以下文法:G = ({S,B,C},{a,b,c},P, S),其中: P: S → aSBC | abC bB → bb cC → cc 求 L(G)=? CB → BC bC → bc
x
p(x) 证明: H( p, q) = H( p) + D( p || q) = H( p) + ∑ p(x) log q(x) x∈X
= −∑ p(x) log p(x) + ∑ p(x)(logp(x) − logq(x))
x∈X x∈X
= −∑ p( x) logq( x)
x∈X
NLPR, CASIA
p ( x) D( p || q) = ∑ p( x) log q ( x) x∈X
NLPR, CASIA
2004-3-6
6
NLPR
第二章习题解答
2-3. 举例说明(任意找两个分布 p 和 q ),KL 距离是不对 称的,即 D(p || q) ≠ D(q || p)。 (略)
NLPR, CASIA
NLPR, CASIA 2004-3-6
10
NLPR
第三章习题解答
3-3. 设文法 G 由如下规则定义: S → AB A → Aa|bB B → a|Sb 给出下列句子形式的派生树: (1)baabaab (2)bBABb 解: (1) A A b B a b
NLPR, CASIA
S B a A B a

2008级《程序设计语言(Java)》上机实验及综合设计评分标准

2008级《程序设计语言(Java)》上机实验及综合设计评分标准

《程序设计语言(Java)》上机实验及综合设计评分标准一、实验总体安排《程序设计语言(Java)》课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一。

该课程重点介绍Java语言的基本语法和面向对象编程方法。

为配合课堂教学,本课程安排了32学时的课内上机和10学时的学生课外自主上机,实验内容由3个基本单元和综合设计共4个单元组成,各实习单元的具体内容和学时安排(包括自主上机的10学时)如下:第一单元(10学时):Java编程基础,包括课堂教学的第1,2,3章。

主要涉及JDK开发工具的使用、Java基本语法和流程控制语句的使用。

第二单元(10学时):Java编程提高,包括课堂教学的第4,5,6章。

主要涉及数组、向量和字符串、类和对象的创建和使用以及Java异常处理。

第三单元(12学时):Java编程进阶,包括课堂教学的第7,8,9,10章,主要涉及Java图形界面设计和Swing组件的使用、Applet程序涉及以及数据流方面的知识。

第四单元(10学时):综合设计。

根据教师所给出的参考课题或自选课题,综合应用所学的Java编程知识和面向对象程序设计方法,设计一个相对完整的Java应用程序或Java Applet小应用程序。

说明:每次上机实习,学生应按实验要求认真完成实习内容。

教师应认真指导学生进行上机实习,检查实验情况,把好上机实习关。

学生完成前三个基本单元的实习内容后,需填写相应的《上机实验报告》,综合设计单元需按要求提交相关设计的电子文档和相应的《综合实践报告》,教师则根据完成情况按下述评分标准给出成绩。

二、上机实验评分标准《程序设计语言(Java)》实验课为独立设课,课程的考核和成绩记载方式请参见该课程的考核要求。

对于3个基本实验单元,每个单元均由一定数量的相关实验组成,各单元的评分标准如表1所示。

表1 上机实验评分标准说明:每个学生需提交上述单元的《上机实验报告》,共1个。

java异常处理试题及参考答案

java异常处理试题及参考答案

异常处理练习题一、选择题1.java中用来抛出异常的关键字是(C)A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是(A)A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都丌对3.(A)类是所有异常类的父类。

A、4.javaA、try{C、5.{{“除0}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){“数组超越界限异常:”+e);}}public static void main(String args[]){“除0}ABCD7.{{}{try{procedure();}catch(IllegalAccessExcepton e) ___________{“捕获:”+e);}}8.对于catch子句的排列,下列哪种是正确的(B )A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关9.在异常处理中,如释放资源、关闭文件、关闭数据库等由(C )来完成。

A、try子句B、catch子句C、finally子句D、throw子句10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )A、捕获异常B、抛出异常C、声明异常D、嵌套异常11.哪个关键字可以抛出异常?(C)JVM. int i=0;String greetings[]= {“Hello world!”,“No,I mean it!”,“HELLO WORLD!!”};while(i<4){____try________{}____catch__(ArrayIndexOutOfBoundsException e){i=-1;}finally{}i++;}}三、判断题1. ( F )程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

C语言中的异常处理

C语言中的异常处理

C语言中的异常处理异常处理是程序设计中非常重要的一部分,它可以帮助我们处理程序运行中可能发生的错误或异常情况,以保证程序的稳定性和可靠性。

在C语言中,异常处理主要通过错误码和异常处理函数来实现。

在C语言中,错误码通常以整数形式表示,一般情况下,函数执行成功时返回0,而发生错误时会返回一个非0的错误码。

我们可以根据函数返回的错误码来判断程序是否执行成功,并在程序中相应地处理这些错误。

通常可以使用if语句或switch语句来判断错误码,并进行相应的处理,比如输出错误信息、重新执行函数、跳出函数等。

另外,C语言中也提供了一些标准的异常处理函数,比如perror()函数和strerror()函数。

perror()函数可以输出一条描述错误原因的信息,通常这个信息包含了错误码对应的错误描述。

而strerror()函数可以根据给定的错误码返回一个描述错误原因的字符串。

这些函数可以帮助我们更方便地处理异常情况。

除了通过错误码和异常处理函数来处理异常,C语言中还提供了一种异常处理的机制,即setjmp()和longjmp()函数。

setjmp()函数用于设置一个标记点,可以在程序的任何地方调用longjmp()函数跳转到这个标记点,有点类似于goto语句,但更加安全。

这种机制适用于一些复杂的异常处理情况,比如在嵌套函数中处理异常。

在实际编码过程中,我们应该养成良好的异常处理习惯,尽量避免普通错误引起的程序崩溃或运行异常。

可以在关键函数中进行错误检查,并根据不同的错误情况进行相应的处理,比如重试、回滚、报错等。

同时,也要注意程序的健壮性和可靠性,避免出现一些潜在的异常情况。

总的来说,异常处理在C语言中是非常重要的,它可以帮助我们更好地处理程序中可能发生的错误或异常情况,提高程序的健壮性和可靠性。

通过合理地使用错误码、异常处理函数和异常处理机制,我们可以处理各种异常情况,并保证程序的正常运行。

希望大家在编程过程中能够重视异常处理,写出高质量的代码。

实验三 异常处理

实验三 异常处理

实验三异常处理实验三异常处理一、实验目的1.学会利用Try-catch-finally语句来捕获和处理异常;2.掌握自定义异常类的方法。

二、实验要求通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容1.编写使用t ry…c at ch 语句处理异常的程序文件S Y4_1.ja va,源代码如下: p u bl ic c la ss S Y4_1{pu bl ic s ta ti c v oi d ma in(S tr ing[] ar g3) {Sy st em.o ut.p r in tl n("这是一个异常处理的例子\n");tr y {in t i=10; i /=0;}ca tc h (A ri th m et ic Ex ce pt io n e) {Sy st em.o u t.pr in tl n("异常是:"+e.ge tM ess a ge());}fi na ll y {S y st em.o ut.p ri ntl n("fi na ll y 语句被执行");}}}编译并运行程序。

注意:如果在c a tc h 语句中声明的异常类是Ex c ep ti on,c a tc h 语句也能正确地捕获,这是因为E x ce pt io n是Ar ith m et ic Ex ce pt io n的父类。

如果不能确定会发生哪种情况的异常,那么最好指定ca t ch的参数为Exc e pt io n,即说明异常的类型为Ex ce pt io n。

2.编写S Y4_2.j av a 程序,计算两数相除并输出结果。

使用两个ca tc h子句,分别捕捉除数为0的异常和参数输入有误异常。

源代码如下:import java.io.*;class SY4_2{public static void main(String args[ ]){try{BufferedReader strin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入除数:");String cl=strin .readLine();int a=Integer .parseInt(cl);System .out .print("请输入被除数:");cl=strin .readLine(); int b=Integer .parseInt(cl);int c=b/a;System .out .println("商为:"+c);}//捕获与I/O有关的异常catch(IOException e){e.printStackTrace();} //捕获数值转化时的异常,如不能将字符转化成数值 catch(NumberFormatException e){System.out.println("请输入整数!");//e .printStackTrace();}//捕获除数为0的异常catch(ArithmeticException e){System .out .println("除数不可以0!");//e .printstackTrace();}}}编译并运行,当输入除数为0时,将有异常出现,当输入的不是整数时,如将30输成了3o,出现的是另一种异常。

(完整word版)异常处理练习题

(完整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.下面程序抛出了一个“异常”并捕捉它。

品质异常处理5W2H)

品质异常处理5W2H)


问题之确认 不良现象发生之日期,时间? 在哪一段时间这不良率DPPM是多少? 不良数是否集中在哪一个班? 不良数是否集中在哪一产品型号(版别)? 不良数是否集中在哪一个位臵? 以前是否有类似现象发生过? 不良出现前后,生产条件是否有变更
B:分析问题 相关以上不良问题而产生的一种重要的析方法-----实验法. 各种实验的实施,能有效地辅助我们进行问题的 分析与处理.
外部: 厂商还有多少不良品件?是否有作全数隔離,标 示,数量如何? 厂商现行之管控方式如何?怎样改善? 何时可将新品送至本廠?标示如何? 新品数量为多少? 新品与旧品如何区分? 厂商必须提供改善前后之良率报告.
D:预防问题 制程及品质作来是否有正规之文件(SOP, SIP)系统化 地监控(人,机,材,法,环境)? 问题之追踪(持续追踪1周/1月…) 有无正确地实施并执行其对策的可行性及有效性.
A:发现问题 不良现象(必须了解清楚及正确之数据) 发生日期,不良数﹑投产数﹑不良率﹑不良发生点﹑ 不良状况(不良状况是怎样发生的) 5W2H
B:分析问题 找寻问题发生之关系 分析问题发生之原因 剖析并解决问题
B:分析问题 如:不良现象与组件之关系,其关系如何? (1):做交叉实验 (2):记录某项参数或规格,外观等不良 (3)产线有无重测以排除治具,设备等不良 (4)锁定不良后进一步展开原因之深入调查.原材来料, 存放环境,中途运输,中途制程等.
临时性措施:


问题点尚未找到真正的原因 矫正措施尚无或者无法实施 马上办/灭火以期满足"顾客"需求 防止此问题再扩大(停线/Hold/Purge) 5M的变动/异常立即复原(禁用/换料,调整制程 条件短期克服,5M变更时恢复原作法...)

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。

二、预习内容安装工具软件的基本方法。

三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。

应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。

(1)编辑A verage.java。

class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。

syntax练习题答案

syntax练习题答案

syntax练习题答案一、选择题1. 在Python中,以下哪个是正确的条件语句的语法?A. if x = 5B. if x == 5C. if x = 5 thenD. if x is 5答案:B2. 下列哪个是Python中的循环结构?A. for x in range(5)B. while x < 5C. do while x < 5D. both A and B答案:D3. 在Python中,以下哪个是正确的函数定义?A. def my_function()B. function my_function()C. def my_functionD. my_function()答案:A4. 在Python中,以下哪个是正确的列表推导式?A. [x for x in range(10)]B. for x in range(10)C. x for x in range(10)D. list(x for x in range(10))答案:A5. 在Python中,以下哪个是正确的字典推导式?A. {x: x2 for x in range(5)}B. {x: x2 in range(5)}C. dict(x: x2 for x in range(5))D. x: x2 for x in range(5)答案:A二、填空题1. 在Python中,使用______关键字定义一个类。

答案:class2. 在Python中,使用______关键字可以调用一个方法。

答案:self3. 在Python中,______运算符用于成员资格测试。

答案:in4. Python中的______语句用于异常处理。

答案:try-except5. 在Python中,______关键字用于定义装饰器。

答案:@(at符号)三、简答题1. 请解释Python中的列表推导式和生成器表达式的区别。

答案:列表推导式用于创建列表,而生成器表达式用于创建一个生成器。

初三化学:“常见的意外事故处理方法”知识拓展练习题(无答案)

初三化学:“常见的意外事故处理方法”知识拓展练习题(无答案)

初三化学:“常见的意外事故处理方法”知识拓展练习题(无答案)一、选择题1.当危险产生时,以下应急措施正确的是()A. 室内产生火灾时,打开所有门窗透风B. 煤气泄漏时,打开电灯查抄漏气管道C. 发觉有人触电时,立即用手把触电者拉开D. 地震产生时,在底楼的同砚快速跑到空旷的地方2.生活中各类事故时有产生,下列对事故的预防和处理的要领中正确的是()A. 燃着的酒精灯不慎碰倒,洒出的酒精燃烧起来,立即用湿抹布笼盖B. 厨房煤气管道泄漏,立即打开换气扇透风换气C. 用煤炭取暖时为了防备室内一氧化碳中毒,在煤炉上放一壶水D. 浓硫酸沾到皮肤上,立即用大量水冲洗,再涂上少量NaOH溶液3.化学实验历程中要范例操纵,注意实验安定,要是产生意外也要冷静处理。

下列意外事故的处理要领中,错误的是()A. AB. BC. CD. D4.下列对实验意外事故的处理错误的是()A. 烧碱溶液洒在实验台上,立即用浓硫酸冲洗B. 实验药液溅入眼睛,立即用水冲洗,切不可用手揉搓C. 酒精灯洒出的酒精在桌上燃烧,立即用湿布或沙子毁灭D. 浓硫酸沾到皮肤上,立即用大量的水冲洗,再涂上3%﹣5%的碳酸氢钠溶液5.要是不慎碰倒酒精灯,洒出的酒精在桌子上燃烧起来,接纳的应急措施()A. 拨打火警电话119B. 用湿抹布扑盖C. 找老师一起想办法D. 逃跑6.2019年11月15日,上海市高层住宅产生特大火灾,58人葬身火海,灾难震惊天下。

为此专家呼吁:每个别都应明白防火知识,学会怎样逃生。

当高层楼房下层动怒,火势无法毁灭时,下列逃生措施中正确的是()①退到卫生间暂避②用湿毛巾捂住口鼻③膝行进步,寻找安定出口④关闭房门⑤跳楼A. ①②③④B. ①③④⑤C. ②③④⑤D. ①②④⑤7.当碱液溅到皮肤上时,应立即用较多的水冲洗,然后再涂上()A. 醋酸B. 稀盐酸C. 硼酸D. 3%~5%的NaHCO3溶液8.2019年3月25日上海浦东一物流堆栈产生火灾,造成严重经济损失。

异常处理与审核技巧(一)

异常处理与审核技巧(一)

D7:预防再发生
关键要点:
•选择预防措施
•验证有效性 •决策
8D工作方法介绍
•组织、人员、设备、环境、材料、文件重新 确定
D8:小组总结
目的:
8D工作方法介绍
承认小组的集体努力,对小组工 作进行总结。
D8:小组总结
关键要点:
•有选择的保留重要文档
•流览小组工作,将心得形成文件
8D工作方法介绍
•了解小组对解决问题的集体力量,及对解决 问题作出的贡献
8-D: Eight-Disciplines of Problem Solving
由美国福特汽车公司遇到不知道『真正肇因﹝ROOT CAUSE﹞』的问题时,用来解决问题的方法。因为功效 卓著,广为美国企业接受,随着美国COMPAQ计算机公 司对外采购的增加,COMPAQ公司会要求其协力厂商运 用此一方法来解决所遭遇到的各种问题,而快速地在计 算机业界被广泛应用。在台湾的IC制造龙头台积电也广 泛地应用此一方法解决甚多的问题。
说明:
8D: 8 Discplines of Problem Solving 解決問題的8個步驟 8D 是解決問題一種工具,通常是客戶所抱怨 的問題要求公司分析,並提出永久解決及改善 的方法;同样,我们也可以要求供应商有效利 用这样一种工具; 比改善行動報告 (Corrective Action Report) 更加 地嚴謹


现物
三现五原则介绍
三现
现状
现场
三现五原则介绍
现状把握确认项目
1、机种、零件名称/号码 2、发生场所/环境/使用条件 3、发生的现象/问题 4、发生日期 5、生产号码
三现五原则介绍
现状把握确认项目

第4章_异常处理

第4章_异常处理


3

4.1.1 核心知识
1.Oracle错误处理机制 (1)编译时错误:指代码不满足特定语法的要求 ,由编译器发出错误报告。由于编译时错误主要 是语法方面的错误,如果不修改程序就无法执行 ,因此该错误可以由程序员修改。 (2)运行时错误:指程序运行过程中出现的各种 问题,由引擎发出报告。运行时错误是随着运行 环境的变化而随时出现的,难以预防,因此需要 程序中尽可能地考虑各种可能出现的错误。

25


4.3.1 核心知识
用户自定义异常的处理步骤分为3步: 1.定义异常名称 在DECLARE部分定义异常,异常的类型为EXCEPTION。 定义异常的语法: 异常名 EXCEPTION;
26

4.3.1 核心知识
2.触发异常 在BGEIN部分,当一个用户设定条件满足时,可 以显式通过RAISE语句来触发自定义异常。 触发异常的语法: RAISE 异常名; 3.异常处理 在EXCEPTION部分处理,和系统预定义异常的处 理方式一致。 处理异常的语法: WHEN 异常名 THEN 处理语句;
27

4.3.2 能力目标
掌握用户自定义异常的处理步骤,熟悉用 户自定义异常的处理过程。

28


4.3.3 任务驱动
任务1-编写一个PL/SQL程序,输出任正非同学选 修C08004课程的成绩。如果成绩小于60分,则触 发用户自定义异常,输出提示信息:“成绩不及 格,请准备补考!”。程序运行效果如图所示。
4

4.1.1 核心知识
2.异常的类型 Oracle运行时的错误可以分为Oracle错误和 用户自定义错误,与之对应,异常分为预定义异 常、非预定义异常和用户自定义异常3种。 预定义异常对应于常见的Oracle错误,非预 定义异常对应于其他的Oracle错误,而用户自定 义异常对应于用户自定义错误。

实验1.7-JAVA实战练习-Banking项目step7-异常处理 (2)

实验1.7-JAVA实战练习-Banking项目step7-异常处理 (2)

实验题目7:(在6基础上修改)将建立一个OverdraftException 异常,它由Account 类的withdraw()方法抛出。

实验目的:自定义异常实验说明:创建OverdraftException 类1.在banking.domain 包中建立一个共有类OverdraftException. 这个类扩展Exception 类。

2.添加一个double 类型的私有属性deficit.增加一个共有访问方法getDeficit3.添加一个有两个参数的共有构造器。

deficit 参数初始化deficit 属性修改Account 类4.重写withdraw 方法使它不返回值(即void).声明方法抛出overdraftException 异常5.修改代码抛出新异常,指明“资金不足”以及不足数额(当前余额扣除请求的数额)修改CheckingAccount 类6.重写withdraw 方法使它不返回值(即void).声明方法抛出overdraftException 异常7.修改代码使其在需要时抛出异常。

两种情况要处理:第一是存在没有透支保护的赤字,对这个异常使用“no overdraft protection”信息。

第二是overdraftProtection 数额不足以弥补赤字:对这个异常可使用”Insufficient funds for overdraft protection” 信息编译并运行TestBanking 程序Customer [simms,Jane]has a checking balance of 200.0 with a 500.0 overdraft protectionChecking Acct[Jane Simms]: withdraw 150.00Checking Acct[Jane Simms]: deposit 22.50Checking Acct[Jane Simms]: withdraw 147.62Checking Acct[Jane Simms]: withdraw 470.00Exception: Insufficient funds for overdraft protection Deifcit:470.0Customer [Simms,Jane]has a checking balance of 0.0Customer [Bryant,Owen]has a checking balance of 200.0Checking Acct[Bryant,Owen]: withdraw 100.00Checking Acct[Bryant,Owen]: deposit25.00Checking Acct[Bryant,Owen]: withdraw 175.00Exception: no overdraft protection Deficit:50.0Customer [Bryant,Owen]has a checking balance of 125.0。

python编程基础实验指导书

python编程基础实验指导书

python编程基础实验指导书南阳理⼯学院《PYTHON编程基础》实验指导书(2014版)软件学院·软件⼯程教研室⽬录⽬录 (1)实验1 PYTHON语⾔数据类型、运算符和表达式 0实验2 控制流语句 (1)实验3 PYTHON函数模块和包 (2)实验4⽂件、异常处理和正则表达式 (3)实验5 ⾯向对象设计 (4)实验1 Python语⾔数据类型、运算符和表达式实验性质:验证性实验学时:2学时⼀、实验⽬的1.掌握元组,列表和字符串在计算机中的表⽰⽅法及其基本操作的实现;2.掌握字典和集合在计算机中的表⽰⽅法及其基本操作的实现;3.能够利⽤序列的分⽚操作对实际问题进⾏分析建模,利⽤计算机求解。

⼆、实验预备知识1.复习C/C++语⾔相关知识(如:数组的定义和使⽤),格式化输出等;三、实验内容1.理解格式化输出,并且按照下列要求写出程序:输⼊⼀句话,按照以下格式输出:例如:输⼊“Good morning,everyone”输出格式为:+---------------------------------------------+| Good morning,everyone|+---------------------------------------------+2.按照以下格式打印⽔果价格表:===================Item Price——————————————————ApplesPearsCantaloupes====================3.字典练习,建⽴⼀个字典,包含以下信息,输⼊姓名,通过字典查到该⼈的信息,并且按照以下格式输出:Tomnum:13456addr:Foo street 45实验2 控制流语句实验性质:验证性实验学时:2学时⼀、实验⽬的1.掌握分⽀,循环控制流语句的基本操作;2.能够利⽤各种控制流语句解决⼀些常见问题。

⼆、实验预备知识1.阅读并掌握C语⾔中的循环,分⽀等基本操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验 4异常处理的练习一、实验目的了解 Java异常处理(exception)的作用,掌握异常处理的设计方法。

二、实验要求。

4. 理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。

了解异常处理机制1.错误与异常在程序执行期间,会有许多意外的事件发生。

例如,程序申请内存时没有申请到、对象还未创建就被使用、死循环等,称为运行错误。

根据错误的性质将运行错误分为错误与异常两种类型。

(1)错误程序进入了死循环或内存溢出,这类现象称为错误或致命性错误。

错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其它程序干预,否则会一直处于一种不正常的状态。

(2)异常运算时除数为0,或操作数超出数据范围,打开一个文件时发现文件不存在,网络连接中断等等,这类运行错误现象称为异常。

对于异常情况,可在源程序中加入异常处理代码,当程序出现异常时,由异常处理代码调整程序运行流程,使程序仍可正常运行直到正常结束。

由于异常是可以检测和处理的,所以产生了相应的异常处理机制。

而错误处理一般由系统承担。

对于一个应用软件,异常处理机制是不可缺少的。

程序员必须在程序中考虑每一个可能发生的异常情况并进行处理,以保证程序在任何情况下都能正常运行。

事实证明,一个仔细设计了异常处理的程序,可以长时间的可靠运行,而不容易发生致命的错误,如程序被迫关闭、甚至系统终止等等。

所以学会进行异常情况处理对于想编写功能完善且具有实用价值的程序员来说是必不可少的。

2.异常发生的原因(1)Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:·表达式的计算违反了 Java语言的语义,例如整数被 0除。

·在载入或链接 Java程序时出错。

·超出了某些资源限制,例如使用了太多的内存。

(2)Java程序代码中的 throw语句被执行。

(3)异步异常发生。

异步异常的原因可能有:·Thread的 stop方法被调用。

·Java虚拟机内部错误发生。

3.异常处理机制发生异常后,怎么处理异常呢?Java提供了异常处理机制来处理异常。

分为两个步骤:(1)抛出异常Java是这样规定的:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。

一个异常对象可以由 Java虚拟机来产生,也可以由运行的方法生成。

异常对象中包含了异常事件类型、程序运行状态等必要信息。

(2)捕获异常异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止,这个过程称为捕获(catch)异常。

简单说异常处理机制就是:当语义限制被违反时,将会抛出异常对象,并将引起程序流程从异常发生点转移到程序员指定的处理异常方法代码处进行异常处理。

(六)了解异常对象的类型在异常发生后,系统会产生一个异常事件,生成一个异常对象,有哪些异常对象呢?这些异常对象来自哪些类呢?Java中的异常类具有层次结构组织。

其中,Throwable类是 Error错误类和 Exception 异常类的父类,它是Object的直接子类。

RuntimeException运行时异常类是Exception 异常类的子类。

如图4.6所示。

图 4.6(七)使用 try…catch语句处理异常1.异常类型匹配的处理方式(1)程序功能:首先说明"这是一个异常处理的例子",然后在程序中主动产生一个ArithmeticException类型被 0除的异常,并用catch语句捕获这个异常。

最后通过ArithmeticException类的对象 e的方法 getMessage给出异常的具体类型并显示出来。

\(2)编写使用 try…catch语句处理异常的程序,触发 ArithmeticException异常,然后对异常进行处理。

注意:如果在catch语句中声明的异常类是Exception,catch语句也能正确地捕获,这是因为Exception是ArithmeticException的父类。

如果不能确定会发生哪种情况的异常,那么最好指定 catch的参数为Exception,即说明异常的类型为Exception。

2.包含多个 catch子句的异常处理程序程序功能:在try子句中设计两个可能出现的异常,一个是访问空对象异常。

另外一个是数组越界的异常,比如数组c的长度为1,定义c[42]是违法的。

通过两个 catch子句分别来捕获异常。

(八)使用 throw语句抛出异常1. throw语句的作用在上面的实验中,可以发现,异常对象是 Java运行时由系统抛出的。

抛出异常也可以通过使用throw语句实现。

throw是 Java语言的关键字,用来告知编译器此处要发生一个异常。

throw后面要跟一个新创建的异常类对象,用于指出异常的名称和类型。

throw语句格式为:<throw> <new> <异常对象名()>;程序会在throw语句处立即终止,转向try…catch寻找异常处理方法,不再执行throw后面的语句。

2. throw语句的使用(1)编写带有 throw语句的程序TC5.java,源代码如下。

public class LX4_9 {static void throwProcess() {try {throw new NullPointerException("空指针异常");}catch (NullPointerException e) {System.out.println("\n在 throwProcess 方法中捕获一个"+e.getMessage());throw e;}}public static void main(String args[]) {try {throwProcess();}catch (NullPointerException e) {System.out.println("再次捕获:"+e);}}}(2)编译并运行程序,结果如图 4.11所示。

图 4.11(3)程序执行流程程序首先调用 throwProcess方法,明确地抛出了一个 NullPointerException异常并将其命名为“空指针异常”。

然后程序流程将转向throwProcess方法中的catch子句,输出一条信息。

throwProcess方法的catch子句又抛出了一个同样的异常e。

然后结束throwProcess方法的调用,执行 main方法中的 catch子句,再次捕获这个异常。

(九)使用 throws子句1.throws子句的作用throws子句一般用来表明在使用该方法时可能抛出异常但不捕获的异常。

异常由系统来处理。

throws子句也可以指出抛出异常是 RuntimeException或自定义异常类,即异常的类型,以便准备调用其它方法捕获它,这种情况一般需要两个方法来分别处理抛出异常和处理异常。

2.只是在方法中抛出异常的程序对于程序中无法处理的异常,可以使用throws子句在方法中抛出异常交由系统处理。

(1)程序功能:在程序中打开文件 a3.txt,因为该文件可能不存在或路径不对,所以存在IOException类型异常的可能,因此这里使用 throws来抛出异常。

(2)编写只是抛出异常的程序文件LX4_10.java,源代码如下。

import java.io.*;public class LX4_10 {public static void main (String args[]) throws IOException {FileInputStream fis = new FileInputStream("a3.txt");}}(3)编译并运行程序,如果该文件在当前目录中不存在,将由系统自动给出异常报告。

3.带有捕获处理的 throws子句(1)程序功能:在这个程序中的 mathod方法中使用 throws子句抛出异常,在 main方法中捕获处理异常。

(2)TC6.java,源代码如下。

import java.io.*;public class LX4_11{static void mathod() throws IllegalAccessException {System.out.println("\n在 mathod 中抛出一个异常");throw new IllegalAccessException();}public static void main(String args[]) {try {mathod();}catch (IllegalAccessException e) {System.out.println("在 main 中捕获异常:"+e);}}}(3)编译并运行程序,(十)使用 finally子句1. finally子句的作用当一个异常被抛出时,程序的执行流程就不再是连续的了,会跳过某些语句,甚至会由于没有与之匹配的catch子句而过早地返回,结束程序的运行。

为了确保一段代码不管发生什么异常都能被执行,可以使用 finally子句。

每个 try语句至少都要有一个与之相配的catch或 finally子句。

从一个方法中返回到调用它的另外一个方法,可以通过return语句或通过一个没有被捕获的异常,但 finally子句总是在返回前被执行。

2.创建使用finally子句的程序文件LX4_12.java。

(1)程序功能:在类LX4_12的mathodA方法中使用try子句捕获异常,使用finally 子句处理异常。

在类 LX4_11的 main方法中使用 try子句捕获 mathodA异常,(2)编写 LX4_12.java程序,源代码如下:class LX4_12{static void mathodA() {try {System.out.println("\nmathodA 抛出一个异常");throw new RuntimeException();}finally {System.out.println("执行 mathodA 的 finally");}}static void mathodB() {try{System.out.println("mathodB 正常返回");return;}finally {System.out.println("执行 mathodB 的 finally");}}public static void main(String args[]) {try {mathodA();} catch (Exception e) {mathodB();}}}(3)编译并运行该程序。

相关文档
最新文档