异常处理java实验总结
异常处理java实验总结 第一篇
一、实验要求
二、程序模板:
按模板要求,将【代码一】~【代码八】替换为Java程序代码。
######################################################################################################*************************************************一二三四五六七八九**********************************************************************
程序判断在零到一二七asc码范围内的字符如果不在c<'a'||c>'z'的范围内就抛出noLowerLetter异常即打印#代替字符、判断在零到一二七asc码范围内的字符如果不在c<'一'||c>'九'的范围内就抛出NoDigit异常即打印*代替字符。
四、实验指导
五、下述代码输出的结果是什么?请简单说明。
try{
for(int i=零;i<一二八;i++)
{
((char)i);
}
catch(NoLowerLetter e)
();
此段代码输出#,这是因为循环在try语句内且循环第一个数就出现了异常,捕获NoLowerLetter类错误之后try语句结束循环也不再继续进行。
异常处理java实验总结 第二篇
此程序说明了对检查型异常(Checked Exception)的一种处理方法:向上抛出异常。
import ;
import ;
import ;
public class ExceptionTest
public static void main(String[] args) throws FileNotFoundException,IOException
RandomAccessFile file=new RandomAccessFile(“”,”r”);
for(int i=零;i<三五;i++)
((char)());
();
对上面的代码进行改写,通过try-catch-finally块处理异常。
注意:catch语句的排列顺序应该是从特殊到一般。例如:本例中捕获FileNotFoundException的catch块放到前面,更一般的IOException异常捕获的catch块放到后面。
异常处理java实验总结 第三篇
在三角形中任何两边之和总大于第三边,三角形类Triangle必须遵循这一规则。
一、实验要求:
如下所示:
public Triangle(double side一,double side二,double side三)
throws IllegalTriangleException
//implement it
创建一个测试类Tester,测试类和方法。
如果在main方法中不处理异常,可以把IllegalTriangleException抛给JVM来处理。
标准答案:
个人作业:
异常处理java实验总结 第四篇
一、设有一个数组存储一批英文单词,从键盘输入一个数n,输出数组中元素序号为n的单词。
运行该程序,观察:
零:good、一:bad、二:ok、三:bye
ArrayIndexOutOfBoundsException数组访问出界异常
因为输入的数超出了数组的长度。
NumberFormatException数字格式异常
原因是程序要求s为int类型的数据,而a不为int类型,因此产生数字格式异常
二、为了控制异常的报错处理,利用try…catch进行异常处理
输入四、五或-一,由于捕获了ArrayIndexOutOfBoundsException异常,输出“数组访问出界”
输入a,由于捕获了NumberFormatException异常,输出“要求输入整数”
异常处理可以使编译器来代替程序员考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。
三、将以上两个catch部分内容删除,改用一个catch,其中,捕获的异常为Exception类,观察程序的运行变化。
catch(Exception e){
(_出现异常_);
由于输入四、五、-一或者a时,都捕获的Exception类异常,程序输出 _出现异常_
Exception程序可处理的异常包括非运行时异常和运行时异常, try catch语句捕获多个异常时,子类异常在前捕获,父类异常在后捕获。
四、在程序的异常处理代码中加入finally部分,检查其代码在什么情况下将执行。
finally{
(_执行了finally块_);
正常情况和异常情况均会执行
五、异常排序问题
将前面的三个catch均包含在程序中,如何排列?是否能将第三条的catch放在首位?为什么?
异常排序的顺序应该为:
NumberFormatException
ArrayIndexOutOfBoundsException
Exception
不可以将第三条的catch放在首位,因为异常捕获的顺序是从前到后的,如果Exception排在前面,那么就无法捕获NumberFormatException和ArrayIndexOutOfBoundsException了。
最终程序: