zoukankan      html  css  js  c++  java
  • 第八周课程学习总结与实验6

    实验六 Java异常

    实验目的
    理解异常的基本概念;
    掌握异常处理方法及熟悉常见异常的捕获方法。
    实验要求
    练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch子句的使用。
    掌握自定义异常类的方法。

    实验内容
    编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常。在catch子句里捕获此异常对象,并且打印“数组越界”信息,加一个finally子句,打印一条信息以证明这里确实得到了执行。
    自定义异常类的使用
    车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。

    技术方案:

    编写一个Exgeption的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“危险物品”。编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。
    程序在主类的main()方法中的try-catch语句的try部分让Machine类的实例调用checkBag(Goods goods)的方法,如果发现危险品就在try-catch语句的catch部分处理危险品。

    1.实验代码:

    package test;

    public class 测试异常 {
        public static void main(String args[]) {
            System.out.println("-------异常测试-------");
            int []a = null;
            try {
                String str1=args[1];
                String str2=args[0];
                a[0]=Integer.parseInt(str1);
                a[1]=Integer.parseInt(str2);
                int temp=a[0]/a[1];
                System.out.println("两个数字相除结果:"+temp);
                System.out.println("--------------");
            }catch(ArrayIndexOutOfBoundsException e) {
                System.out.println("数组越界异常:"+e);
            }finally {
                System.out.println("异常测试一定执行");
            }
        }
    }

    实验截图.

     2.实验代码:

    package DangerException;

    public class DangerException extends Exception {
        public void toShow() {
            System.err.print("属于危险物品");
        }

            }

        class Goods{
            private boolean Danger;
            private String name;
            public Object getName;
            public Goods(boolean Danger,String name) {
                this.Danger=Danger; this.name=name;
            }
            public boolean Danger() {
                return Danger;
            }
            public void setName(String name) {
                this.name=name;
            }
            public String getName() {
                return name;
            }

        }
        class Machine{
            public void checkBag(Goods goods)throws DangerException{
                if(goods.Danger())
                    throw new DangerException();
                else
                    System.out.println(goods.getName()+"不是危险品");
            }
       

            }
    package DangerException;

    public class Test {
        public static void main(String[] args){
            Machine mac=new Machine();
            Goods goods=new Goods(false, null);
            String a[]={"枪","刀具","包 " ,"手机"};
            for(int i=0;i<a.length;i++) {
                goods.setName(a[i]);
                if(a[i].equals("枪")||a[i].equals("刀具")) {
                    goods.Danger();
                    System.out.println(a[i]+"是危险品");
                }
                else
                    goods.Danger();
            }

            try {
                mac.checkBag(goods);
            }catch(DangerException e) {
                e.toShow();
            }
       
        }

       
        }

    2.实验截图

     学习总结:

    1.本周主要讲了异常类的运用,

    2.了解了基本的try{}catch{}finally{}用法.

    3.学会了try-catch方法运用.

    4.还稍微理解了throw与throws的区别,感觉对于二者还是有点模糊.

    5.需要在后续的学习中加油认真巩固与学新.

  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.3.13
    Elementary Methods in Number Theory Exercise 1.3.17, 1.3.18, 1.3.19, 1.3.20, 1.3.21
    数论概论(Joseph H.Silverman) 习题 5.3,Elementary methods in number theory exercise 1.3.23
    Elementary Methods in Number Theory Exercise 1.2.31
    数论概论(Joseph H.Silverman) 习题 5.3,Elementary methods in number theory exercise 1.3.23
    Elementary Methods in Number Theory Exercise 1.3.13
    Elementary Methods in Number Theory Exercise 1.3.17, 1.3.18, 1.3.19, 1.3.20, 1.3.21
    Elementary Methods in Number Theory Exercise 1.2.31
    Elementary Methods in Number Theory Exercise 1.2.26 The Heisenberg group
    4__面向对象的PHP之作用域
  • 原文地址:https://www.cnblogs.com/gyyy/p/11701667.html
Copyright © 2011-2022 走看看