博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java异常处理
阅读量:4949 次
发布时间:2019-06-11

本文共 1220 字,大约阅读时间需要 4 分钟。

1、自定义异常

(1)先定义一个方法,其中包含可能会抛出异常的行为(可能成功,也可能失败),并且if(失败) 则 throw eException

(2)在使用该方法时必须是在try-catch里面的try执行

(3)程序在执行到throw语句时立即终止,从该方法中跳出往下执行,所以throw后面的语句不可达

static int filterCartItem(int id) throws MyException {        // TODO Auto-generated method stubif (id<0) {            // throw之后的语句都无效            throw new MyException("不存在该商品!");} return id; }

主函数中使用它:

(1)如果catch中没有内容,则不会显示异常信息

(2)catch里面的e是filterCartItem里面抛出的

(3)catch里面的参数应该和filterCartItem里的异常类一致

(4)如果try的某一条语句执行出现异常,则该语句一下的语句都不会在执行,而直接条转到catch

try {      filterCartItem(id);            } catch (MyException e) {                // TODO: handle exception               System.out.println(e.getMessage());   }

如果在try中出现错误但希望再给它一次机会,可以:

for (int i = 0; i < 3; i++) {            try {               //            } catch (Exception e) {                // TODO Auto-generated catch block                System.out.println("错误的数量: " + e.getMessage());                if (i != 2) {                    System.out.println("请重新输入:");                } else {                    System.out.println("错误次数达到最大,终止!");                }            }        }

 2、已经try-catch还是提醒要throw解决方法:

因为catch的异常类不是基类exception导致异常不全!

Done!

转载于:https://www.cnblogs.com/xingyyy/p/3370736.html

你可能感兴趣的文章
WCF(二) 使用配置文件实现WCF应用程序
查看>>
【CodeForces 803 C】Maximal GCD(GCD+思维)
查看>>
python 去掉换行符或者改为其他方式结尾的方法(end='')
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
REST构架风格介绍:状态表述转移
查看>>
struct {0}初始化
查看>>
c++ operator
查看>>
apache 添加 ssl_module
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
getQueryString
查看>>
Servlet文件上传和下载的复习
查看>>
JavaScript笔记——正则表达式
查看>>
iOS PushMebaby
查看>>
网页消息类
查看>>
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
日常一些出现bug的问题
查看>>
同时启动多个tomcat服务器
查看>>
怎么将iphone上的照片导出到本地文件
查看>>
Repeater+DataPagerSource分页
查看>>