• java异常处理练习


    异常的练习:

    老师用电脑上课。

    开始思考上课中出现的问题。


    比如问题是
        电脑蓝屏。
        电脑冒烟。

    要对问题进行描述,封装成对象。


    可是当冒烟发生后,出现讲课进度无法继续。

    出现了讲师的问题:课时计划无法完成。

     1 class Teacher
     2 {
     3     private Computer cmp;
     4     public void shangKe()throws NoPlanException           /*声明异常*/
     5     {
     6         cmp=new Computer();
     7         try
     8         {
     9             cmp.run();
    10         }
    11         catch(LanPingException e)                             /*电脑捕获处理蓝屏的异常*/                                     
    12         {
    13             cmp.recst();
    14         }
    15         catch(MaoYanException e)                                /*电脑捕获处理电脑冒烟的异常*/
    16         {
    17             throw new NoPlanException("上课无法继续,因为"+e.getMessage());       /*电脑无法处理这个异常,继续把这个异常抛给老师来处理*/      
    18         }
    19         
    20         System.out.println("老师上课");                                /*没有异常,老师就正常上课*/
    21     }
    22 }
    23 class LanPingException extends Exception                             /*自定义蓝屏异常*/
    24 {
    25     LanPingException(String m)
    26     {
    27         super(m);
    28     }
    29 }
    30 
    31 class MaoYanException extends Exception                          /*自定义电脑冒烟异常*/
    32 {
    33     MaoYanException(String m)
    34     {
    35         super(m);
    36     }
    37 }
    38 class NoPlanException extends Exception                          /*自定义老师处理异常*/
    39 {
    40     NoPlanException(String m)
    41     {
    42         super(m);
    43     }
    44 }
    45 
    46 class Computer
    47 {
    48     private int state=3;                      /*不同的异常状态选择*/
    49     
    50     public void run()throws LanPingException,MaoYanException
    51     {
    52         if(state==2)                                          
    53         {
    54             throw new LanPingException("电脑蓝屏了");                /*符合条件就抛出异常对象*/
    55         }
    56         if(state==3)
    57         {
    58             throw new MaoYanException("电脑冒烟了");
    59         }
    60         System.out.println("电脑运行");
    61     }
    62     
    63     
    64     public void recst()
    65     {
    66         System.out.println("电脑重启");
    67     }
    68 }
    69 
    70 class ExceptionText
    71 {
    72     public static void main(String args[])
    73     {
    74         Teacher t=new Teacher();
    75         try
    76         {
    77             t.shangKe();
    78         }
    79         catch(NoPlanException e)                             /*老师捕获处理电脑冒烟异常*/      
    80         {
    81             System.out.println(e.toString());
    82         }        
    83     }
    84 }

    运行结果:

    NoPlanException: 上课无法继续,因为电脑冒烟了

  • 相关阅读:
    机器学习初篇(0.0)
    MQTT 入门介绍
    《八极拳谱》(李书文)
    Golang实战群:日志的处理机制
    【转】火山引擎 Redis 云原生实践
    【转】7000字前端性能优化总结 | 干货建议收藏
    微信小程序canvas绘制圆角边框
    【转】语义化版本 2.0.0
    Verdaccio私有 npm 服务器搭建及其配置
    【转】根据条件配置多个npm仓库
  • 原文地址:https://www.cnblogs.com/liangqiyuan/p/5581984.html
Copyright © 2020-2023  润新知