zoukankan      html  css  js  c++  java
  • java自定义异常

    适当的时候,要用try catch来替换掉if else

    package com.test;
    /** 
     * @author QiaoJiafei 
     * @version 创建时间:2016年1月6日 下午2:58:41 
     * 类说明 
     */
    public class TestException {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Teacher t = new Teacher("乔佳飞");
            try {
                t.jk();
            } catch (NoPlanException e) {
                System.out.println(e.toString()+"..............");
                // TODO Auto-generated catch block
                System.out.println("我知道了");
            }
        }
    
    }
    
    class Teacher {
        String name;
        Computor cp;
        public Teacher(String name) {
            // TODO Auto-generated constructor stub
            this.name = name;
            cp = new Computor();
        }
        
        void jk() throws NoPlanException {
            try {
                cp.run();
                System.out.println(name+"开始讲课");
            } catch (MaoYanException e) {
                // TODO Auto-generated catch block
                System.out.println(e.toString());
                test();
                throw  new NoPlanException("停止讲课,原因是:"+e.toString());
            } catch (LanPingException e) {
                // TODO Auto-generated catch block
                System.out.println(e.toString());
                cp.reset();
                cp.state = 0;
                jk();
            }
        }
        
        void test() {
            System.out.println("大家联系");
        }
        
    }
    
    class Computor {
        int state = 2;
        void run() throws MaoYanException, LanPingException {
            
            if(state == 1)
                throw new LanPingException("电脑蓝屏了");
            if(state == 2)
                throw new MaoYanException("电脑冒烟了");
            System.out.println("电脑开始运行");
        }
        
        void reset() {
            System.out.println("电脑重启");
        }
    }
    
    class MaoYanException extends Exception {
        MaoYanException(String msg) {
            super(msg);
        }
    }
    
    class LanPingException extends Exception {
        LanPingException(String msg) {
            super(msg);
        }
    }
    
    class NoPlanException extends Exception {
        NoPlanException(String msg) {
            super(msg);
        }
    }
  • 相关阅读:
    attr系列
    面对对象中的反射
    Python中的内置函数(比较重要的)
    过滤莫文件夹下所有文件和子文件夹中的文件,并把路径打印出-----面对过程的编程
    python中字典的几个方法介绍
    python中字符串的几个方法介绍
    python中列表与元组
    win7上python2.7连接mysql数据库
    练习-三级菜单
    练习-模拟商城购物车
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/5148811.html
Copyright © 2011-2022 走看看