实验六 Java异常
实验代码: public class dome{ public static void main(string args[]){ System.out.println("开始计算") int q[]={1,5,9}; try { int num=a[4]; //赋值 System.out.println("输出结果:" num); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("数组越界:" e); } finally { System.out.println("程序执行"); } } } 实验截图:
车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。 技术方案: 编写一个Exgeption的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“危险物品”。编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。 实验代码: package 实验八; public class Googs { private boolean Danger; private String name; private Object getName; public void Goods(boolean Danger,String name) { this.Danger=Danger; this.name=name; } public boolean dangerous() { return Danger; } public boolean isDanger() { return Danger; } public void setDanger(boolean danger) { Danger = danger; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Object getGetName() { return getName; } public void setGetName(Object getName) { this.getName = getName; } } package 实验八; import java.util.ArrayList; public class Machine { public Machine(ArrayList arrayList) { } public void checkBag(Googs goods) throws DangerousException{ if(goods.dangerous()) throw new DangerousException(); else System.out.println(goods.getName() "不是危险物品"); } public void addDangerList(String string) { } } package 实验八; public class DangerousException extends Exception { public void toShow() { System.out.println("危险物品"); } } package 实验八; import java.util.ArrayList; public class Test { public static void main(String args[]) { Machine machine = new Machine(new ArrayList()); String a[]={"汽油","管制刀具","枪","TNT"}; machine.addDangerList("汽油"); machine.addDangerList("管制刀具"); machine.addDangerList("枪"); machine.addDangerList("TNT"); Googs goods=new Googs(); for(int i=0;i<a.length;i ) { goods.setName(a[i]); if(a[i].equals("汽油")||a[i].equals("管制刀具")||a[i].equals("枪")) { goods.dangerous(); System.out.println(a[i] "是危险品"); } else goods.dangerous(); } try { machine.checkBag(goods); }catch(DangerousException e) { e.toShow(); } } } 实验截图:
总结:这周的作业,挺好写的,第一题就是处理异常的直接处理,第二题运用了延迟处理异常 异常的总结: 不处理:仅在runtimeexcption中,可以不处理 直接处理: 异常的捕获,最大的是Excption,而Throwablle不仅仅只有excption还有error,而error类不需要程序处理 所以方便一点直接用Excption捕获全部异常 延迟处理:throws与throw关键字. throws抛出异常,而交给方法的调用处进行处理 throw自己抛出异常,一定要处理 来源:https://www./content-4-511951.html |
|