实验三 异常处理

实验三 异常处理
实验三 异常处理

实验三异常处理

一、实验目的

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,出现的是另一种异常。3.编写程序S Y4_3.ja va,包含自定义异常,当输入数值为13和4时抛出该异常。源代码如下:

c l as s Ex2ex te nds Ex ce pt io n{

E x2 (S tr in g ms g) {

su pe r(ms g);

}

}

c l as s SY4_3{

p r iv at e in t x;

v o id s et X(in t x) {

t h is.x=x;

}

v o id f1() th ro ws E x2{

i f(x==13)

t h ro w ne w Ex2(“I do n’t l ik e 13!”);

e l se i f(x==4)

t h ro w ne w Ex2(“I do n’t l ik e 4!”);

e l se

sy st em .ou t.p r in tl n(100/x);

}

p u bl ic s ta ti c voi d m ai n(Ss tr in g a r gs[ ]) {

S Y4_3 a=ne w SY4_3();

t r y {

a.st eX(5);

//a.se tX(13);

//a.se tX(4);

//a.se tX(0);

a.f1();

}

c a tc h(Ex e) {

S y te m.ou t.pr in tln(“ge t m es sa ge:”+e.ge tM es sa ge());

}

}

编译并运行,分别取消注释上面程序中被注释的语句。当释放a.se tX(13)语句后,查看运行结果,当释放 a.s et X(4)语句后,查看运行结果。

四、实验练习题

1.编写J a v a程序,创建数组后,对数组访问时发生的数组越界.实验使用

t r y-c a t c h语句处理该异常。运行结果如图所示。

2.自定义一个异常,并将其抛出,异常信息为“这是自定义异常!”。

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()); } } } 将结果运行截屏贴在下面:

实验五异常处理

实验五异常处理 一、实验目的 1.熟悉异常的抛出与捕获的含义; 2.掌握异常捕获与处理的方法; 3.能自定义异常。 二、实验内容 1. 验证书上例子5,将运行结果保存至实验报告中,并简述Java语言处理异常的过程。 2. 现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。 程序框架如下,将代码补充完整,并调试出结果,并将运行结果保存至实验报告中:(1)首先定义两个异常类 负数异常.java文件源代码: class负分异常extends Exception //当录入了负分时。此处应用了自定义异常 { 负分异常(int i){ .println("分数为负数"); } } 高分异常.java文件源代码: class高分异常extends Exception //当录入分超过100时。应用了自定义异常 { 高分异常(int i ){ .println("分数过高"); } } 主类源文件代码: import .JOptionPane; public class ExceptionDemo { static final int number=2; int score[]=new int[number]; public void检查分数(int分数) throws负分异常,高分异常 //下面方法中判断如果录入的成绩不合理,则抛出异常,但本方法并不处理异常,仅声明了异常 { i f(分数 >100) throw new高分异常(分数); //通过throw,人工抛出异常 i f(分数 <0) throw new负分异常(分数); } public void录入成绩()

SMT异常处理作业规范V0 无LOGO

文件名称:SMT 异常处理作业规范 编写部门:工程部 <文件受控印章> 文件默认发布电子档,如为纸质发布则必须盖红色受控印章,如非红色受控印章,则表示该文件不会受控及更新。

1、目的 确定作业规范,确保生产线出现异常时能及时处理。 2、范围 生产各制程出现生产异常或材料异常均可依此方式处理。 3、职责 3.1发现异常的部门负责及时填报《生产品质异常通知单》及主导异常分析,提出纠正行动方案,并参与纠正 行动。 3.2工程部、品质部、生产部负责组织分析生产异常原因及提出纠正对策。 3.3品质部、生产部、工程部跟进纠正效果。 4、定义 无。 5、内容 5.1生产异常发生及确认 5.1.1当接到换线通知后,相关操作员拿所要生产的机种站位表确认相关物料(组长负责监督及协助)。依 站别在备料车上将料备好并检查OK后即完成备料动作。 5.2开出的《生产品质异常通知单》交相关负责人审核和及时跟进: 5.2.1遇到下列一般性异常情况时,组长或IPQC应填报《生产品质异常通知单》并按要求执行 ①、外观检査(以每小时计算):不良率大于过程控制指标或同一位置不良现象连续出现5PCS时 ②、生产过程中或检查中发现PCB板本体破损导致报废时和贵重材料损伤不良时 ③、生产过程中或检查中发现PCBA不用上锡的位置飞锡、焊盘不可上锡的位置上锡不良3块或以上时 ④、生产线实际产能低于预定目标产能的90%,并已持续2小时且仍在持续中。 ⑤、物料损耗连续2小时以上超出指标时(CHIP 0.03%) 5.2.2、遇到下列重大异常情况时,组长或IPQC应立即填报《生产品质异常通知单》并按要求执行。 ①、错、漏、反 A、首件错、物料错(含PCB)、错件、1个或以上时: B、部品散乱、漏印锡膏5点或以上或同一位置连续出现5PCS或以上时 C、漏件:1206规格以上的元器件(含1206規格)1 PCS或以上时:1206规格以下的元器件(不含1206 规格)5 PCS或以上时 D、有极性部品反向(如BGA、IC、二极管、电解电容等)1 PCS或以上时。 ②、在生产过程中,因来料不良或送料上线不及时,影响生产线停工待料时间超过20分钟以上且在持续时 5.3原因分析及处理 5.3.1由发現异常单位组织以QIT形式召集现场的生产、工程等相关人员主导进行异常原因分析,并将原因分 析结果记录于《生产品质异常通知单》若分析异常原因有困难,则由发现异常单位升级到上司跟进,单位上司约高一级人员到会参加对异常的分析和跟进,若仍有争议则报告给总经理裁决。 5.3.2对生产异常原因分析后确定造成生产异常之问题归类:分物料、工艺、設备、人为及其它并明确相 应责任归属。(如人为则需注明部门/责任人)

实验 异常处理

实验报告六 一【实验目的】 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.360docs.net/doc/6016006139.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) {

品质异常处理作业规范

品质异常处理作业规范 1.目的:为了规范异常处理作业流程,对品质异常及时有效处理,尽快将产品送至客户手上;并 及时查明异常发生原因,以寻求解决对策,提出预防措施,避免再发,特制定本规范。 2.适用范围:凡本公司加工的模具、零配件、模锻件经检验判定不符合图纸要示或客户要求,均 按本流程进行处理。对进料检验、外协加工检验的不合格处理也可按本文件规定进行作业。 3.职责分工 3.1质检: 3.1.1工件检测/进料检验、外放工件的检验,异常发生后开立《品质异常处理记录 表》并编号存档; 3.1.2核对制造损失金额及材料损失金额; 3.1.3制作异常资料的统计及分析月报表; 3.1.4协助处理工段退货的异常并协助生产单位对重复异常作技术研讨; 3.1.5通知主导责任单位召开重复异常的技术研讨会及作效果追踪。 3.2锻造主管:在模具/零配件进行异常处理过程中,判定模具/零配件在锻打工序时是否 可以使用,如涉及烧焊或影响产品的功能、尺寸及外观时需找项目经理及技术部门判定。 3.3技术、项目(跟项目和客户直接对话者): 3.3.1工件/产品进行异常处理过程中,判定工件/产品是否可以使用; 3.3.2异常发生时确定处置方式并与客户协商。 3.4技术:根据异常编写加工工艺或根据工段异常重新设计图形。需重制时,重 新下料。 3.5各加工单位: 3.5.1负责工段自主检查及按加工作业规范进行加工前确认; 3.5.2召开异常工件检讨会,实施研讨会所拟定的对策。 3.6异常发现单位: 3.6.1他工序发现异常开立《品质异常处理记录表》,填写异常现象后交质检; 3.6.2自主发现和质检人员发现异常时开立《品质异常处理记录表》并判定异常责 任单位和责任人。 3.7责任单位: 3.7.1异常发生的原因追查及拟定解决对策; 3.7.2收到异常单后,责任人对异常工件进异常原因分析并制定预防对策; 3.7.3责任人找锻造主管、项目、技术等相关单位人员进行异常单的处理。 收到异常单后4小时内处理完成。 3.8仓库/统计:报废工件与表单等签收。 4 作业流程图 4.1品质异常处理作业流程(见附件一)

质量异常处理管理办法

质量异常处理管理办法 1范围 为确保我司质量目标的实现,加强对生产过程的质量控制,特制定本管理规定,本办法围绕对产品质量的影响程度进行考评,并对考核对象、范围、扣分条件、责任连带条件、奖励方面等都进行明确,以确定对质量问题责任人及相关责任单位的考核比重。 本标准适用于公司产品生产过程质量异常情况对所有单位调查、处理和考核。 2职责公司所有员工均有责任对所发现的质量缺陷、质量异常问题进行反馈上报。 质控部负责对公司重大质量事故及恶性批量的质量问题进行通报处理。负责对产品生产过程(包括小批试生产)和售后反馈的质量异常情况进行调查处理和考核。负责对责任单位纠正及预防措施的制订、实施情况进行统计、跟踪和通报,确保形成闭环控制。 研究院、制造部、质控部负责对出现的质量异常进行深入的原因分析。质量异常问题的责任单位负责制订纠正及预防措施,并对其按时实施以及实施效果负责。绩效管理部负责监督责任单位判定或考核尺度有异议时进行裁决,同时督促各种纠正及预防行动的有效落实。 3引用标准(无) 4名词解释 A 类缺陷:涉及电气安全、产品可靠性的重大问题。如综合五项性能泄露、耐压等未通过;性能测试出现漏 水、批量噪音振动、不停机、不制冷等问题;压缩机、冷凝器、蒸发器等重要零部件问 题;批量性的泄漏等对售后有重大质量隐患的问题。 B 类缺陷:对产品性能、外观等有较大影响的问题。如较严重的外观问题,结构类问题(除涉及电气 安全的),认证类,较小质量隐患的客户化问题,工艺执行力等对质量、生产等影响较 大的质量问题。 C 类缺陷:对产品质量影响较小的轻微缺陷问题。如轻微的外观缺陷、周转过程物料摆放不合理、物料损坏 等一般性质量问题。 批质量事故:同批产品中满足以下条件之一的,即视为批质量事故: 1)A类缺陷比例达到%(含)以上; 2)B类缺陷比例达到 1%(含)以上; 3)C类缺陷比例达到 5%(含)以上; 4)除以上条件外,经质控部判断影响严重的其他质量异常情况。流程图或步骤(无) 6 管理程序

实验八 异常处理

实验八异常处理 【开发语言及实现平台或实验环境】 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)抛出异常

生产异常处理规范

YLSY-GY3-JS-0XX 内蒙古亿利塑业有限责任公司 管业三车间 生产异常处理规程 制定:日期: 审核:日期: 审定:日期: 批准:日期: 受控状态:

生产异常处理规程 1.目的 为车间部门间信息交流的准确,规范车间生产异常的处理,降低生产异常事故,提高生产效率,特制定本办法。 2.适用范围 本车间生产过程中异常发生时,除另有规定外,均依本办法处理。 3.权责单位 1)综合部负责本办法制定,修改,废止之起草工作。 2)生产副总负责本办法制定。修改,废止之核准。 4.内容 4.1定义 本办法所指的生产异常就是生产过程中由于特殊原因造成生产停工或进度延迟的情形。 4.2生产异常报告单内容 发生生产异常,即有异常工时产生,时间在60分钟以上时,应填具《异常报告单》。其内容一般应包括以下项目: (1)生产批号:发生异常正在生产的产品之生产批号或制造命令号。 (2)生产产品:发生异常时正在生产的产品之名称,规格,型号。 (3)异常发生部门:发生异常之制造部门名称。 (4)发生日期:发生异常之日期 (5)起讫时间:发生异常之起始时间,结束时间。 (6)异常描述:发生异常之详细状况,尽量用量化的数据或具体的事实来陈 述。 (7)停工人数,影响度,异常工时:分别填具受异常影响而停工之人员数量, 因异常而导致时间损失之影响度,并据此计算异常工时。 (8)临时对策:由异常发生之部门和责任部门共同对策临时应争措施。 (9)填表部门:由异常发生之部门经办人员及主任签核。 4.3分类

1)计划异常:因生产计划临时变更或安排失误等导致的异常。 2)物料异常:因物料供应不及(断料)、物料品质问题等导致的异常。 3)设备异常:因设备、工装不足或故障原因而导致的异常。 4)品质异常:因制造过程中发生、发现品质问题而导致的异常。 5)技术异常:因产品设计或其他技术问题而导致的异常。 6)水、电、气等其他异常。 4.4处理流程 1)异常发生时,发生部门主管应立即通知安全技术部或相关责任单位,前来研 拟对策加以处理,并报告直属上级。若异常已造成停产,相关责任部门必须在接到通知5分钟内派人到现场处理。 2)安全技术部会同质保部﹑责任单位采取异常之临时应急对策并加以执行,以 降低异常的影响。 3)异常排除后,由安全技术部门填具《异常报告单》一式四联,并转责任部门。 4)责任部门填具异常处理之根本对策,以防止异常重复发生,并将《异常报告 单》之第四联自存,其余三联退安全技术部。 5)安全技术部接责任单位之异常报告单后,将第三联自存,并将第一联转总经 办生产副总,第二联转综合部。 6)综合部保存异常报告单并督促财务部及采购部,作为向责任厂商索赔之依 据,及制造费用统计之凭证。 7)安全技术部保存异常报告单,作为生产进度管制控制点,并为生产计划之调 度提供参考。 8)安全技术部应对责任部门之根本对策的执行结果进行追踪。 4.5具体处理方法 4.5.1计划异常 计划异常主要由产品部计划员应及时通报安全技术部部长,由部长同部计划员、当事销售员进行生产计划异常方面的信息交流,一起研拟对策,对异常进行及时处理。 4.5.2物料异常

实验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.360docs.net/doc/6016006139.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()); } } }

制程异常处理规范(含记录)

制程异常处理规范 (IATF16949-2016/ISO9001-2015) 1.0目的: 规范制程异常的处理流程,提高处理异常的速度。 2.0适用范围: 适用于公司制程异常处理。 3.0名词定义: PIE:同于PE&IE,指生技课Product Engineering (生产工程)和 Industry Engineering(工业工程)。 PMC:指生管课Product Material Control(生产物料控制),在此指生管。IPQC:指品保课In Process Quality Control.(制程品质控制)。 QE:指品保课Quality Engineering (品质工程)。 4.0职责: 4.1 生产:提报异常,对作业问题进行原因分析和改善对策。 4.2 工程:主导负责对制程、仪器、设备产生异常不良进行分析与改善。 4.3 品保:确认异常状况,提出异常,并协助分析原因和改善对策,并监控改善措施落实情况及改善确认。 5.0作业内容: 5.1 当发生以下状态时,视为制程异常发生: 5.1.1 连续两个小时,异常超过《工段品质目标》管制界限; 5.1.2 连续二个时间段,同一位置(或同一项)不良大于等于3PCS;

5.1.3 生产设备、治工具、仪器等发生故障,影响生产进度及品质; 5.1.4 未按作业指导书或客户要求作业,经确认有可能发生品质隐患时; 5.1.5 驻厂客户检验发现异常,需要原因分析和改善对策。 5.1.6其它严重影响到产品品质及生产效率的事件(如:包材,物料,产品供应不足)。 5.2 制程异常处理程序 5.2.1当制程异常发生时,由发现部门或品保开出【品质异常处理单】并交该部门的组长、课长审阅签名,经工程分析后交相关责任部门。 5.2.2相关部门责任人接到【品质异常处理单】时,第一时间到现场了解状况,并在30分钟内给出临时改善措施,24小时内给出长期改善措施。特殊情况下,经由厂长或管理者代表批准后,但最长也不得超过72H回复。 5.2.2.1 物料问题由品保部IQC提出改善对策; 5.2.2.2 环境问题由PIE提出改善对策; 5.2.2.3 设备、治工具、仪器问题由PIE或工程提出改善对策; 5.2.2.4 作业问题由生产课提出改善对策; 5.2.2.5 设计问题由该项目工程提出改善对策。 5.3【品质异常处理单】由经理审批,品保课安排专人编号(如:Q1812001,Q 表示品质,18表示2018年,12表示12月份,001表示是12月的第一份,以此类推),登录入品质异常处理单跟进记录表中并跟催回复,异常单由QE工程师及IPQC跟进改善后的品质状况,若改善对策无效时,重新提出检讨要求,按上述流程处理。 6.0参考文件:

C#实验2流程控制异常处理

实验二流程控制异常处理 实验要求: 熟练掌握程序的三种流程结构,对于实际的应用问题能够理解并灵活运用;对于VS下中断模式,能够对于运行过程中的错误及时进行处理,掌握异常处理机制。 一、流程控制 1. 随机生成一个1-100之间的一个数,并由玩家进行猜测,提示玩家是猜大了还是猜小了或者猜对了。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int x; Random ra = new Random(); int y = ra.Next(1, 100); Console.WriteLine("输?入?1~100,退?出?输?入?0"); x = int.Parse(Console.ReadLine()); if (x!=0) { while (x!=0) { if (x < 0 || x > 100) { Console.WriteLine("输?入?值μ超?出?范?围§"); x = int.Parse(Console.ReadLine()); continue; } else if (x > y) Console.WriteLine("大洙?了?"); else if (x < y)

Console.WriteLine("小?了?"); else if (x == y) { Console.WriteLine("对?了?,?继ì续?输?入?y,退?出?输?入?n"); string s = Console.ReadLine(); if (s == "y") y = ra.Next(1, 100); else if(s=="n") return; else Console.WriteLine("输?入?不?正y确ā?); } x = int.Parse(Console.ReadLine()); } } else if (x == 0) return; Console.ReadKey(); } } } 2.已知在同一个笼子里总共有h只鸡和兔,鸡和兔的总脚数为f 只,其中,h和f由用户输入,求鸡和兔各有多少只? using System; using System.Collections.Generic; using System.Text; namespace鸡|兔?同? { class Program { static void Main(string[] args) { int chicken, rabbit; Console.WriteLine("请?输?入?鸡|和í兔?的?总哩?个?数簓:阰"); int h = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请?输?入?鸡|和í兔?的?脚?的?总哩?数簓:阰"); int f = Convert.ToInt32(Console.ReadLine()); while (f%2!=0)

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的异常和参数输入有误异常。源代码如下:

实验六异常处理

实验六异常处理 云南大学信息学院面向对象技术导论 java程序设计大学教程实验 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 1. 掌握Java中异常的概念及含义。 2. 掌握异常的定义、抛出方法以及如何捕捉处理异常。 3. 熟悉如何将异常处理灵活运用到实际编程中。 【实验要求】 1. 运行上课讲解的例子; 2. 完成下列实验内容。 【实验内容】 一、读懂并运行下列程序,体会Java中异常处理机制。 1. 分析并运行下面的程序。参考源代码如下: import java.io.*; public class ExceptionTest { public static void main ( String args[] ) { for ( int i = 0; i < 4; i++ ) { int k; try { switch ( i ) { case 0: //除数为0 int zero = 0; k = 911 / zero; break; case 1: //空指针 int a[] = null; k = a[0]; break; case 2: //数组下标越界 int b[] = new int[4]; k = b[6]; break; case 3: //字符串下标越界 char ch = "China”.charAt(5); break; } }catch ( Exception e ) { System.out.println("\nTestCase#"+i+"\n");

System.out.println(e); } } } } 问题: (1) 程序中设计循环有何目的? (2) 程序中将产生哪些异常? (3) 程序中的异常是如何抛出、捕捉及处理的? 答:(1)获得全部的异常。 (2)除数为0,空指针,数组下标越界,字符串下标越界 (3)抛出:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。捕捉:异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止,这个过程称为捕获(catch)异常。处理:书写特殊的异常处理代码进行处理。 实验结果: 2. 分析并运行下面的程序。程序源代码如下: public class ExceptionTest { public static void main ( String args[] ) { System.out.println("捕获不同类型的异常"); try { int a=10/0; } catch ( ClassCastException e ) { System.out.println("发生异常"+e); } finally{ System.out.println("执行finally语句");

生产异常处理作业指导书

1.目的 为了规范生产异常情况的处理,减少生产异常工时,提高工作效率与产品品质。 2.适用范围适用于生产部门及生产相关部门的所有人员 3.职责生产部:负责生产操作异常、设备异常的处理及生产进度的控制。 PMC5E:负责生产计划及原辅材料的管理。 品管部品管科:负责生产原辅材料及产品品质的管理品管部工艺科:负责工艺流程与工艺技术的管理 4.定义生产异常:是指造成生产车间停工或生产进度延迟的情形,由此造成的无效工时,也可称为异常工时。 5.作业细则 5.1生产异常的处理与控制 5.1.1在生产异常管理中应明确生产异常产生的原因,然后按照既定的处理程序进行解决,并查明责任部门做出处理。 5.1.2当生产过程中发生异常时,由发现异常部门的人员(生产人员或品管员)提出《生产异常状况反馈》,先采取口头或电话方式通知车间班长。 5.1.3车间班长接到通知后,立即组织品管员和责任人了解异常情况、分析原因、研究对策。当责任部门为生产车间时,车间班长应根据异常情况处理预案或已往的历史经验立即采取适当措施。并依据异常情况的性质,按照以下程序报告部门主管; 5.1.3.1当所发生的异常事故,在班组长的职权范围并自身具备处理能力,先进行处理再事后反馈; 5.1.3.2当所发生的异常事故需相关部门配合处理,应立即通知责任部门并及时反馈部门主管; 5.1.3.3当所发生的异常事故超出自身权限范围又无法通知相关责任部门(无法确认责任部门)或发生重大异常事故时,立即报告部门主管协调处理; 5.1.4责任部门在接到通知后30 分钟内提出预处理方案,并回馈提报部门与生产部; 5.1.5生产车间班组长会同相关责任部门采取临时应急对策并加强监控,以期降低异常事故的影响或损失,并及时将异常情况所发生的变化随时反馈责任部门跟进处理; 5.1.6异常排除后,由生产车间填写生产异常状况反馈表经部门主管审批后转责任部门; 5.1.7责任部门填写异常情况的处理方案、预防措施或解决的根本对策,以防止此类异常情况重复发生,并将生产异常状况反馈表自存一份后返回生产部; 5.1.8生产部保存《生产异常状况反馈表》作为生产进度控制管制的控制点,并作为处理生产异常情况的参考方案; 5.1.9生产部对责任部门的改善措施的执行情况及效果进行追踪、评估,必要时会同相关部门共同进行探讨。 5.2生产异常的原因与分类 5.2.1计划异常:因生产计划临时变更或安排失误等导致的生产异常 5.2.2物料异常:因物料供应不及时出现断料,物料品质问题等导致的生产异常 5.2.3品质异常:因制程中出现产品品质问题而导致的生产异常,称制程异常

实验室异常检验结果调查及处理程序改#精选.

实验室异常检验结果调查及处理程序 文件编码:SMP09―133 版本号:1

目录 一、目的 (1) 二、适用范围 (1) 三、责任 (1) 四、内容 (1) 五、附件 (8) 六、相关文件 (8) 七、变更历史 (8)

一、目的 建立一个实验室超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)调查程序,以规范调查实验室超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)的步骤及正确的处理方法,找出发生OOS/OOT/OOE的原因(生产、检验及其他),以便及时采取纠正预防措施,避免类似问题再次发生。 二、适用范围 本程序适用于实验室样品检测出现超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)等异常检验结果时的处理方法(如原辅材料、包装材料、半成品、成品检验、分析方法验证、工艺验证及其他验证项目)。 三、责任 质控部、质保部、QC、相关部门负责人。 四、内容 定义: 1.1检验结果超标: 超出质量标准的检验结果(简称OOS结果)和超出趋势的检验结果(OOT结果)及非期望结果(OOE)的统称。 1.2超出质量标准的检验结果(简称OOS结果): 不符合既定的质量标准或接受标准的检验结果。任何有OOS结果的产品都不能被放行。 1.3超出趋势的结果(简称OOT结果): 此结果没有超出既定的质量标准或接受标准的限度,但已产生适当数量的数据不符合正常的结果分布。任何出现OOT结果的产品仍将要被放行。OOT只是用于内部管理控制的目的。 1.4. 非期望结果(简称OOE结果) 此实验结果超过历史的、预期的或先前的趋势限度。此结果没有超出既定的质量标准或接受标准的限度,但可能是不正常或者临近边缘的值(当主要检查项目,如含量检验结果等于上下限度值时,启动OOE调查程序)。OOE用于内部管理控制。 1.5有效结果: 在适当、科学并经批准的条件下所产生的检验结果,不管是否在质量标准或接受标准的限度之内。 1.6无效结果:

实验6 异常处理

实验6 异常处理 一、实验目的 1、掌握常见异常类的使用环境; 2、掌握异常处理的两种方法; 3、掌握自定义异常类的方法。 二、实验内容 1、在程序中处理常见异常。 2、自定义异常,并在程序中处理异常对象。 三、实验步骤 1、输入三角形三条边长,求三角形面积。处理可能发生的异常。class ValueException extends Exception{ public ValueException(){ System.out.println("三角形两边之和必须大于第三边"); } } class Triangle{ private double a,b,c; public Triangle(double a,double b,double c) { this.a=a; this.b=b; this.c=c; } public double area() throws ValueException { double p; double s; if(a+b<=c||b+c<=a||a+c<=b) throw new ValueException(); p=(a+b+c)/2; s=Math.sqrt(p*(p-a)*(p-b)*(p-c)); return s; } } class Test{ public static void main(String[] args) { try {Triangle t=new Triangle(1,4,5); System.out.println(t.area());

} catch(ValueException e){ e.printStackTrace(); } } } 2、定义Circle类,包含成员变量半径r和计算面积的方法getArea()。自定义异常类,当半径小于0的时候抛出异常。 class Rexception extends Exception{ Rexception(){ System.out.println("值错误"); } } public class Circle { double r; final double PI=3.1413; public Circle(double r) { this.r=r; } public double getArea()throws Rexception { if(r<=0) throw new Rexception(); return PI*r*r; } public static void main(String[] args) { try{ Circle c1=new Circle(-4); System.out.println("圆面积:"+c1.getArea()); }catch(Rexception e){ System.out.println("半径不能小于等于0"); } } }

模板与异常处理

实验14 模板与异常处理 一、实验目的 1.理解函数模板和类模板的概念。 2.会编写包含函数模板和类模板的程序。 3.正确理解C++的异常处理机制。 4.掌握异常处理的编程特点。 5.了解异常分类层次,常见系统异常。 6.学习自定义异常的定义及方法,异常的抛出与处理。 二、实验内容 1.编写一个求绝对值的函数模板,并测试。 2.请将冒泡排序函数改写成为模板函数并编写一个程序进行测试。 3.编写一个任意类类型AnyType模板,并请编写一个程序来使用该AnyType类模板。 4.编写求阶乘n!的函数,当用户的输入太大时(如51),会出现错误,使用异常处理机制来解决这一问题;如果n小于零,也抛掷一个异常进行处理。 5.编程并观察当库函数sqrt()的参数为负数,log()的参数为0时,系统会出现什么情况,请解决之。 6. 编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法显示错误消息。 三实验程序及结果 1、 #include template T fab(T a) {

if(a>0) return a; else return -a; } void main() { double a; cout<<"请输入一个数:"<<'\n'; cin>>a; cout< using namespace std; template void paixu(T *a,int i) {

相关文档
最新文档