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);
        }
    }
  • 相关阅读:
    在前端眼中pc端和移动的开发区别
    两个对象的合并
    关于后台传来的json是含英文字母的string
    关于jquery的取消阻止默认事件
    练习:模态对话框
    JS之DOM节点增删改查与属性设置
    JS之DOM Event(事件)
    JS的DOM对象之DOM节点
    JS的history对象和location对象
    JS的BOM对象之window对象,利用window对象方法实现定时器
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/5148811.html
Copyright © 2011-2022 走看看