第八周课程总结&实验报告(六)
实验六 Java异常 实验目的 实验内容 技术方案: 编写一个Exgeption的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“危险物品”。编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。 (一) public class Yichang { public static void main(String[] args) { char a[]= {1,2,3,4}; //定义数组 try { int num=a[5]; //赋值 System.out.println("输出结果:"+num); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("数组越界:"+e); } finally { System.out.println("不管是否出现异常,都执行此代码"); } } } 2.结果截图 (二) class DangerException extends Exception{ //子类DangerException 继承父类 String message; public DangerException() { this.message= "危险品"; } public void toShow() throws Exception{ //输出,延缓处理异常 System.out.println("这是什么:"+this.message); } } class Goods { public static boolean setIsDanger; boolean isDanger; String name; public Goods( boolean isDanger,String name) { //构造Goods方法 this.isDanger=isDanger; this.name=name; } public void setIsDanger(boolean isDanger) { this. isDanger = isDanger; } public boolean getIsDanger() { return isDanger; } public void setName(String name) { this.name = name; } public String getName() { return name; } } class Machine { public void checkBag(Goods goods) throws DangerException { //检查物品,延缓处理危险物品 if (goods.isDanger) { //当发现危险物品时抛出 throw new DangerException(); } else { System.out.println("这不是危险品:"+goods.getName()); } } } public class Check1 { public static void main(String args[]) throws Exception { Machine machine = new Machine(); String name[] ={"矿泉水","炸弹","美女","毒药"}; Goods goods[] = new Goods[name.length]; //定义了goods是包含name[]数组里所有的元素的数组类型 for(int i= 0;i<goods.length;i++) { goods[i] = new Goods(false,null); //逐次创建每一个Goods对像,并把它登记到goods数组中去 goods[i].setName(name[i]); if(i%2==0) { //判定他到底是不是危险物品 goods[i].setIsDanger(false); } else { goods[i].setIsDanger(true); } try { machine.checkBag(goods[i]); //可能存在危险物品 System.out.println(goods[i].getName()+"检查通过"); } catch (DangerException e) { e.toShow(); System.out.println(goods[i].getName()+"检查不能通过"); } } } } 2.结果截图 总结: 学到的知识: 在整个java的异常结构中,实际上有以下两个最常用的类:Exception、Error,这两个类全都是Throwable的子类。 1、Exception:一般表示的是程序中出现的问题,可以直接使用try…catch处理。 2、Error:一般指的是JVM错误,程序中无法处理。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – JPA多对多连接表实体,复合键“null id generated”
- java – Liquibase看不到实体的变化
- Maven在Windows中的配置以及IDE中的项目创建实例
- java – HttpServletRequest#getHeader(“User-Agent”)返回
- 在java中连接一些.txt文件[已关闭]
- Java Stream Collectors.toList()不会编译
- java – Web Developer希望学习桌面编程
- java – JDBC MySql连接池实践,以避免用尽连接池
- java – 问题:创建一个非常精确的摆动定时器
- java – 由ImageIO关闭的InputStream