当前位置:文档之家› 异常处理

异常处理

异常处理
异常处理

工艺异常处理规定

工艺异常处理规定 1.目的 制订本标准的目的是建立生产过程中偏差及异常情况处理规程,在保证产品质量的情况下,对偏差及异常情况做出正确处理。 为建立各相关部门对生产异常的责任制度,以减少效率损失,提高生产力,特制定本规定。 2.范围 本规定适用于生产过程中偏差及异常情况的处理。 3.术语 本规定所指的生产异常,系指造成制造部门停工或生产进度延迟的情形,由此造成之无效工时,亦可称为异常工时。生产异常一般指下列异常: 1) 计划异常 因生产计划临时变更或安排失误等导致的异常。 2) 物料异常 因物料供应不及(断料)、物料品质问题等导致的异常。 3) 设备异常 因设备、工装不足或故障等原因而导致的异常。 4) 品质异常 因制程中出现了品问题而导致的异常,也称制程异常。 5) 产品异常 因产品设计或其他技术问题而导致的异常,或工艺异常。 6) 水电异常 因水、气、电等导致的异常。 4.职责 员工:完成任务,报告问题和异常。 组长:执行更改后的工艺,处理问题。 车间主任:执行更改后的工艺,报告生产,处理问题。 制造中心主任:监督执行,总结计划,公布成果。 现场改善专员:负责导入、组织、实施、推进异常管理。 技术中心:提供技术支持。 评审组:对目视管理做效果评估,确定改善成果,提供综合协调。 供应中心:处理供应商和本身带来的异常问题 质检中心:处理由品质部门带来的异常问题 业务部:处理由业务部带来的异常问题 仓库:处理由仓库带来的异常问题 计划部:处理由计划部门带来的异常问题 5.程序流程 1)异常发生时,发现异常的部门主管应立即通知技术部门或相关责任单位,前来研究对策,加以处理,并报告直属上级。 2)制造中心会同技术中心、责任单位采取异常的临时应急对策并加以执行,以降低异常带来的影响。 3)异常排除后,由生产部门填写《异常报告单》并转给责任单位。 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()); } } } 将结果运行截屏贴在下面:

实验 异常处理

实验报告六 一【实验目的】 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.doczj.com/doc/689473671.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) {

品质异常处理流程98703

品质异常处理流程 (公开文件,共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

产品质量异常处理流程

供应商来料异常管理流程 1. 目的: 规范来料产品的异常处理流程控制,提高来料合格率。 2. 范围: 本规范适用于所有外购零部件及外包加工件。 3. 职责与权限: 3.1生技部:负责检测治具的制作。 3.2质量中心:负责来料异常的提出、分析、处理。 3.3生产部:负责来料异常协助处理。 3.4研发部:负责来料异常的分析、处理。 3.5生管部:负责确认来料品上线使用时间。 3.6采购部:负责来料异常与供应商的纠通取得异常的处理。 4. 名词定义: 4.1不合格:未满足产品的质量要求。 4.2 A类:单位产品的极重要质量特性不符合规定,或者单位产品的质量特性极严重不符合规定。 4.3 B类:单位产品的重要质量特性不符合规定,或者单位产品的质量特性严重不符合规定。 4.4 C类:单位产品的一般质量特性不符合规定,或者单位产品的质量特性轻微不符合规定。 5、异常处理流程控制 5.1 IQC依据检验指导书、封样、评估报告等资料检验,发现来料品不满足质量要求。 5.2 IQC将自已判定为不合格的产品经工程师、部门主管核对确实为不合格品。 5.3 IQC 立即填写《供应商异常矫正单》进行处理。 5.4 质量中心主管主导组织针对异常讨论,参与人员:采购、PIE、质量中心经理、研发工程师、研发总监、厂部厂长及其相关人员。 6、异常分类: 6.1 外观不良:表面有划痕、水印、字体不清、表面气泡、砂眼、黑点、缺料、油污、毛刺、变形、色差、氧化及电镀层脱落、标识规格错误、无料号贴纸、无出厂检验报告等。 6.2性能不良:尺寸与图纸不符、适配过大,过小、色温,波长,亮度不符、电压,电流不符等。 7、异常处理方式 7.1将不良品返回供应商进行返工、返修、报废等。 7.2将不良品需进行特采使用才能满足产品的质量。 8、特采分类 8.1需进行挑选使用时。 8.2需增加零部件才能满足产品的最终使用功能时。 8.3需增加工艺进行满足产品的最终使用功能时。 8.4降低产品的质量要求,特采条件接收使用时。 8.5需要机加工才能满足产品的最终使用功能时。 9、扣款规定 9.1特采使用需扣除工时费用20元/H。

SMT工艺异常处理流程

SMT工艺异常处理流程 目的 为了有效追踪工艺异常问题的根本原因,明确各关联部门的权责,提高异常事故处理效率,减少投诉; 适用范围 本流程适用于龙旗科技有限公司所有主板项目; 定义 SMT(Surface Mounting Technology):表面贴装技术; SMT工艺异常:因SMT设备(程序)参数的技术性缺失、原材料(主料、辅料)不良、设计错误等因素影响,导致工艺控制失效使得生产效率无法达到预定目标,使产品品质超出IPC允收标准的所有事件均称之为SMT工艺异常; 职责 工程部:分析工艺异常原因,判定异常事故的性质,提供改善建议; 研发事业部:解释设计原则,修正设计方案; 质量保证部:提供质量数据报告,反馈投诉处理意见,划分责任归属; 质量策划部:跟踪各阶段问题的及时关闭和阶段控制,对于工艺问题,结合工程分析和风险评估,协助推动研发改善; 售后服务部:反馈客户信息,调查、追踪客户端产品状态; 项目管理部:总体协调和督促项目组成员推动问题点的解决,保障项目进度; 内容 1.可制造性设计导致工艺异常的处理流程 1.1.如发现可制造性设计导致的工艺异常,由外协厂汇总问题点并输出试产报告,由驻厂NPI将试产报告发给项目组。针对《试产报告》中反馈的可制造性设计问题,由工程确认是否改版并提供分析评估意见给研发; 1.1.1.若研发对工程的分析意见无异议,则由研发执行改版,质量策划跟踪改版进度,工程负责改版确认; 1.1. 2.若工程的分析意见与研发设计要求有争议,则由项目经理和质量策划评估、解决; 2.生产过程中工艺异常处理流程

2.1.当生产中发现工艺异常时,需龙旗驻厂NPI及时进行产线状态确认,驻厂PQE及时提供《外协厂异常问题反馈单》,工程根据《外协厂异常问题反馈单》负责判断、确认并提供改善建议,PQE根据异常风险等级决定是否维持生产或停线; 2.2.生产过程中的工艺异常分类及处理 2.2.1.来料不良导致工艺异常的处理 2.2.1.1.来料不良信息反馈 2.2.1.1.1.来料不良导致的工艺异常事故,由龙旗驻厂PQE负责来料异常的信息反馈,并通知SQE联系供应商至产线配合改善; 2.2.1.2.来料不良原因分析 2.2.1.2.1.驻厂PQE主导外协厂、供应商至产线分析,并提供分析结果; 2.2.1.2.1.1.若外协厂与供应商意见一致,确认了双方认可的分析结果,再由工程根据双方的分析结果给出风险评估意见,并提供给PQE参考,由PQE决定是否换料或克服生产; 2.2.1.2.1.2.若外协厂与供应商意见分歧,未达成双方认可的分析结果,则由工程根据异常反馈信息作出判断分析,并将分析意见提供给PQE参考,由PQE协调SQE解决; 2.2.2.加工技术资料缺失导致工艺异常的处理 2.2.2.1.Gerber资料内容缺失的处理 2.2.2.1.1.驻厂NPI以邮件形式通知项目组,SMT工艺工程师进行确认,若情况属实,由研发负责文件升级并给到外协厂,NPI负责跟踪直至问题关闭; 2.2.2.2.《工艺控制事项》内容缺失的处理 2.2.2.2.1.由上海NPI负责文件升级并给到外协厂,驻厂NPI督导外协厂根据升级文件调整工艺维持生产; 2.2. 3.SMT设备(程序)问题导致工艺异常的处理 2.2. 3.1.设备性能衰减导致工艺异常的处理 2.2. 3.1.1.当外协厂SMT设备在固定周期内未进行充分的保养、升级换代等原因使性能衰减,导致工艺异常事故,则需工程介入对设备性能进行评估,并责成外协厂按照设备出厂的固有参数进行改造,再进行设备性能指标(CPK)确认,以满足龙旗产品的工艺能力为前提条件; 2.2. 3.2.设备突发性故障导致工艺异常的处理 2.2. 3.2.1.生产过程中设备突发性故障造成的工艺异常,由外协厂内部控制; 2.2. 3.3.贴片程序错误导致工艺异常的处理

实验八 异常处理

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

实验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.doczj.com/doc/689473671.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()); } } }

工艺异常处理

1.9月1号扩散炉不稳定,有个角的方块电阻在36-37之间,偏低,经过调试已经稳定。对于绒面出现的花片问题,由于出现的是少数片为花片,因此做继续传下道的处理。 2.9月3号,白班留下10单功率较低难烧的片子,在旧烧结炉上寻找最佳条件进行烧结,以使功率较好。对于换了加热管的绒面槽造成做片发白,处理意见是暂时停止该槽做绒面,只做加热水用加热。 3.9月6号PE3号管氨气流量在做淀积时异常,立刻把工艺步骤跳到抽空,该管片子颜色不正常,后调到手动模式,发现压力正常,判断为机器问题,同时将该管做出颜色不正常的片子继续补做剩余时间,出来后效果良好。 4.9月7号,阳森德的片子出现倒角不齐的情况,经检查可以把同一角度的片子放一起,再调节网版相关系数,这样可以保证较快的印刷完这单片子。当晚出现停电现象,造成PE 做工艺时氨气被停,该管片子无法补做,返回清洗处洗掉薄膜。 5.9月8号,2号刻蚀机不稳定,辉光颜色黯淡,已经交给晚班陈煜辉处理。夜班出现频繁损坏印刷栅线网版,原因正在调查。凯盛的片子有几片出现边角上做不处绒面,判断为是片源问题,交由质检部处理,建议退回仓库。 6.9月8号,扩散炉方块电阻不太均与,经调试,基本在38-42之间。PE出现压力异常,换成手动模式后正常,可以继续做

片子,怀疑是机器问题。 7.9月10号,对于8号网版损坏频繁,经调节,将高度降到最低后回复正常水平。PE出现白膜(非应力片),已经传给清洗处洗掉薄膜重做PE。对于当天出现的凯盛的片源出现烧结的功率不稳定现象,经过与质检部了解,判断是片源问题。 8.刻蚀机石英罩清洗后做工艺时已经正常,同时扩散炉经过这段时间的调节已经稳定。清洗绒面处有少量的轻微发白片和花片,由于显微镜已坏,无法判断具体原因,只能继续传下道工序。 9.9月11号,PE1号管原来是做工艺必须抽到1时才能正常工艺,而今天出现了真空抽到1后做淀积时压力异常,机器问题。另外PE1号管经统计做出的功率要比其他的管子要低,因此正在调试和统计,并且以警方暂时的停了下来。 10.9月15号白班留下5单功率异常,难烧的片子,在旧烧结炉上已经寻找最佳条件烧结完毕。晚班烧结出来的功率不稳定,经检验,扩散刻蚀均正常。PE1号管仍在调试。 11.9月16号,应力片做完PE后出现色重,重洗重做后,挑选较好的留下道,其余的建议退仓库。换了加热管绒面做出的有发白情况,用碱水煮过绒面槽后再做绒面已正常。另外换过片源后出现了花片,而且出现了手指印,正在调查原因。 12.9月17号,PE一单应力片有13张颜色异常,因为边缘翘起无法镀膜造成颜色异常,建议退仓库。下午做出的片子有

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语句");

品质异常处理流程及方法

品质异常处理流程及方法Last revision on 21 December 2020

品质异常处理流程及方法 摘要:品质人员的工作职责之一就是要及时发现反馈生产中的品质异常状况,并督促现场执行改善措施、追踪其改善效果,保证只有合格的产品才能转入下一道工序,生产出高质量的产品. 品质人员的工作职责 1、熟悉所控制范围的工艺流程 2、来料确认 3、按照作业指导书规定进行检验(首检、巡检) 4、作相关的质量记录 5、及时发现反馈生产中的品质异常状况,并督促现场执行改善措施、追踪其改善效果 6、特殊产品的跟踪及质量记录 7、及时提醒现场对各物料及成品明显标识,以免混淆 8、及时纠正作业员的违规操作,督促其按作业指导书作业 9、对转下工序的产品进行质量及标识进行确认 品质异常可能发生的原因 生产现场的品质异常主要指的是在生产过程中发现来料、自制件批量不合格或有批量不合格的趋势。品质异常的原因通常有: A. 来料不合格包括上工序、车间的来料不合格 B. 员工操作不规范,不按作业指导书进行、新员工未经培训或未达到要求就上岗 C. 工装夹具定位不准 D. 设备故障 E. 由于标识不清造成混料 F. 图纸、工艺技术文件错误。

品质异常一般处理流程 1、判断异常的严重程度(要用数据说话) 2、及时反馈品质组长及生产拉长并一起分析异常原因(不良率高时应立即开出停线通知单) 3、查出异常原因后将异常反馈给相关的部门 (1)来料原因反馈上工序改善 (2)人为操作因素反馈生产部改善 (3)机器原因反馈设备部 (4)工艺原因反馈工程部 (5)测量误差反馈计量工程师 (6)原因不明的反馈工程部 4、各相关部门提出改善措施,IPQC督促执行 5、跟踪其改善效果,改善OK,此异常则结案,改善没有效果则继续反馈 怎样做才能尽可能的预防品质异常 是一款专门分析品质异常的工具,它主要是应用统计分析技术对项目过程进行实时监控,区分出过程中的随机波动与异常波动,了解每个工序有可能出现的品质异常、了解哪些工位容易出品质异常,从而对过程的异常趋势提出预警,以便及时采取措施,消除异常,恢复稳定,从而达到稳定过程,提高和控制质量的目的.

实验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"); } } }

质量异常处理单

填写部门:质量部填写人:日期:2014.3.19 物料代码:R15052071名称/型号/规格:木箱/EXP182A1/康开当批总数:1 发生环节:■进料检查□生产过程□出货检查□客服现场□客户发现□其它不良数/检查总数:1/1 A:问题描述(发生时间、地点、人员、过程、现象、程度、频次、数量、比率) 木箱上无丝印LOGO标识,我司要求丝印蓝色OTIS 。 B:紧急处理 B1:质量部初步分析/责任判定: 签名/日期:万建明 责任部门:■供应商_康开□客户□生产□SMT □质量□研发□技术□工艺□物流□营销□合同□其他_____ B2:不合格品处理■返工□退货□报废□筛选□降级使用□特准质量部审核 B3:处理措施级别□无需□ C 短期措施■ C&D短期和长期措施孙青 B4:责任部门签收及处理意见 签名/日期: 特准签批特准理由:申请部门:申请人:□研发部□技术部□工艺部□生产部□SMT □同意□不同意□同意□不同意□同意□不同意□同意□不同意□同意□不同意 □合同部□物流部□营销中心□质量部(副)总裁/总经理□同意□不同意□同意□不同意□同意□不同意□同意□不同意□同意□不同意 C:直接原因分析及短期措施(包括原材料、半成品、成品、在制品、库存品、已出货品的处置方案,可附页) 直接原因分析:1、3月16日星期天,为了17日能及时发货给客户,我司安排相关人员来加班。包装组有两个新入职的员工,不熟悉该产品的包装要求,也不会看发货信息的备注项。并且打包好以后就入库。装车时没有通知发货审核人员来检查。2、出货审核人员没有在场进行监督,没有对产品在发货之前做检测,失职导致产品漏检。短期措施:针对此次出现的问题,我司安排人员于3月21日带印有蓝色OTIS的木箱到上海新时达调换无LOGO 标识的木箱。 签名韦竟杰日期2014-03-21 D:根源分析及长期措施(必要时填写,可附页) 根源分析:新员工入职培训不够完善,不了解发货信息关于产品包装要求是导致错误的主要原因。出货检验员没有在场进行检验,并未交接给别人代理检验。 长期措施:1、给包装人员培训,每次有发货时下发发货信息单,了解产品的包装要求按发货信息上的要求进行包装。2、出货审核人员每次出货审核时要认真对照发货信息审核产品,包括箱子里边的变压器和箱外的唛头标签等有没有错误,审核无误后方可签字放行。 签名韦竟杰日期2014-03-21 E:结果验证及结案批准 E1:结果验证 签名日期

模板与异常处理

实验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) {

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

实验题目7:(在6基础上修改) 将建立一个OverdraftException 异常,它由Account 类的withdraw()方法抛出。 实验目的: 自定义异常 实验说明: 创建OverdraftException 类 1.在banking.domain 包中建立一个共有类OverdraftException. 这个类扩展Exception 类。2.添加一个double 类型的私有属性deficit.增加一个共有访问方法getDeficit 3.添加一个有两个参数的共有构造器。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 protection Checking Acct[Jane Simms]: withdraw 150.00 Checking Acct[Jane Simms]: deposit 22.50 Checking Acct[Jane Simms]: withdraw 147.62 Checking Acct[Jane Simms]: withdraw 470.00 Exception: Insufficient funds for overdraft protection Deifcit:470.0 Customer [Simms,Jane]has a checking balance of 0.0 Customer [Bryant,Owen]has a checking balance of 200.0 Checking Acct[Bryant,Owen]: withdraw 100.00 Checking Acct[Bryant,Owen]: deposit25.00 Checking Acct[Bryant,Owen]: withdraw 175.00 Exception: no overdraft protection Deficit:50.0 Customer [Bryant,Owen]has a checking balance of 125.0

JAVA实验报告5 异常处理实验

中南财经政法大学武汉学院实验报告 实验课名称:__JAVA语言____ 学生姓名:_______ 专业班级:__网络工程1104 学号:11071125__ 开课时间:___2013年2月26日_ 教务处制

《Java程序设计基础》实验报告 实验序号:05实验项目名称:异常处理 学号11071125姓名专业、班级 实验地点计-202指导教师时间2013-5-14一、实验目的及要求 了解异常处理机制; 了解异常的概念; 掌握抛出异常、捕获异常和异常处理的方法; 了解自定义异常类的定义和使用方法。 二、实验设备(环境)及要求 1、Windows-XP操作系统 2、Eclipse应用程序 三、实验内容与步骤 编写一个类ExceptionTest1,在main方法中使用try、catch、finally: ①在try块中,编写被0除的代码。 ②在catch块中,捕获被0除所产生的异常,并且打印异常信息。 ③在finally块中,打印一条语句。 四、实验结果与数据处理 import java.util.*; public class ExceptionTest1{ public static void main(String[]args){ Scanner in=new Scanner(System.in); try{ System.out.print("请输入被除数:"); double beichushu=in.nextDouble(); System.out.print("请输入除数:"); double chushu=in.nextDouble(); if(chushu==0) throw new ArithmeticException("请输入不为0的数字!"); double i=(beichushu/chushu); System.out.println("二者的商为:"+i);}catch(InputMismatchException e1){ System.out.println("请输入数字!");

相关主题
文本预览
相关文档 最新文档