欢迎来到天天文库
浏览记录
ID:30832243
大小:413.02 KB
页数:8页
时间:2019-01-03
《实验02异常处理实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一.本实验目的及要求1.掌握JAVA异常处理机制2.掌握直接抛出界常和间接抛出界常3.掌握自定义异常类4.实验报告内容应包括,本实验的第三、四、五部分的答案,以及第六部分的程序后耍求。二.基础知识任何一门计算机程序设计语言都包括有绝对止确和相对正确的语句。绝对止确:指任何情况卜;程序都会按照流程正确执行;相对正确:程序的运行受到运行坏境的制约,在这种情况卜;需要附加检测和控制语句,保证程序的健壮性。在Java屮,通过面向对象的方法来处理程序错误,釆川界常(Exception)处理机制来处理程序运行中的错误.将程序
2、运行中的所有错误都看成一种界常,通过对语句块的检测,一个程序中所有的异常被收集起來放在程序的某一段中处理。如果发生了异常,则这个方法生成一个代表该杲常的对彖(包含了该杲•常的详细信息),并把它交给Runtime系统,Runtime系统寻找相应的代码来处理该异帘。则牛成异常对象并把它提交给运行时系统的过程被称为抛弃(throw)异常。运行时系统在方法的调丿IJ栈屮查找,从牛成异常的方法开始进行回朔,直到找到包含相应异常处理的方法为止,这一个过程称为捕获(catch)—个异常。程序中存在非法操作.这种因为无意或粗心引
3、起的错误称为隐式异常,常见的隐式弄常刊以通过java.lang包中的Throwable的了类Erroi•來处理。程序员在程序中使用throw语言引起的界常.这种事先考虑的界常称为显式界常,町以通过java.lang包中的Throwable的子类Exception派牛■的子类牛成.在Java语言中,大部分错误和界常都可以被抛出•界常情况被分为界常类Exception和错误类Error,其中错误类表示严重的错误,直接由Java系统处理.错误和界常分为3类:•输入错误:主耍指用户输入的数据格式,没有按规定的形式输入•设
4、备错课是不可预知的,且不可避免•程序代码出错是因为程序设计和编写时候出现的考虑不全面引起的Java的界常处理是通过3个关键词來实现的:try・catch-finally。川try来执行-•段程序,如果出现界常,系统抛出(throws)一个杲常,可以通过它的类型来捕捉(catch)并处理它,或最后(finally)由缺省处理器來处理。Try{exception_method;}catch(Exceptionle){dealWithl;}[catch(Exception2e){dealWIth2;}][finally
5、{method;}]在界常对象抛岀吋,使用到两个关键字分别是:(hrows和【hmw,其中throw用于语句屮抛出异常对象,例如:Exceptione=newExceptionC'MyException?,);throwe;或thrownewException("MyException");throws用于描述在间接抛出杲常类型。publicvoidMyException(inta,intb)throwsException{}一.实验内容(1)填空练习1.在JAVA语言中采用面向对象方法处理错误,通常这些错误被称
6、为(界常)。2.在JAVA语言,界常情况分为(界常类Exception)类和(错误类Error)类,引起2类情况发生的原因(输入错误)、(设备错误)和(程序代码出错)。3.在JAVA语言中,异常处理机制的用到的3个关键字是(try)、(catch)和(finally)。4.在JAVA语言中,异常抛出有2种方式,其中异常产生和异常捕获在同一个方法中称为(直接抛出异常),而异常产生和异常捕获在不同的方法屮称为(间接抛出异常)。5.在JAVA语言中,throw的作用是(抛出异常对彖),throws的作用是(描述在间接抛
7、出界常类型)。6.H定义异常类,都需要要类定义是继承(Exception)类,并且在构造方法屮调用(String)对象实现异常提示信息输入。(2)找出错误1.答:由于算数异常而导致程序错谋,应继承Exception类,抛出异常并处理。2.答:try语句不能单独使用,其后应有finally子句或者catch子句。3.答:catch(Exceptione)放在了catch(ArithmeticExceptione)^L前,导致后•个catch不能被正常执行。4.答:throwse错谋,应改为throwe。5.答:是继
8、承Exception类,而不是做接口。(3)程序填空1.读程序按照提示填空publicclassMyExccption)publicstaticvoidmain(String[]args){inta=1();intb=0;try{System.out.println(ua/b等于:"+(a/b));}catch(AirthmcticExccptionc){〃填写即将捕获的
此文档下载收益归作者所有