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);
        }
    }
  • 相关阅读:
    js --- for in 和 for of
    vue -- config index.js 配置文件详解
    vue -- 脚手架之webpack.dev.conf.js
    vue --- 解读vue的中webpack.base.config.js
    vue 引入第三方字体包
    js call 和 apply
    vue2.0中的$router 和 $route的区别
    懒加载js实现和优化
    vue的指令在webstrom下报错
    BFC的布局规则和触发条件
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/5148811.html
Copyright © 2011-2022 走看看