通过不同的异常,返回不同的提示消息 您所在的位置:网站首页 美的热水器JSQ30-G3屏幕显示E5 通过不同的异常,返回不同的提示消息

通过不同的异常,返回不同的提示消息

#通过不同的异常,返回不同的提示消息| 来源: 网络整理| 查看: 265

1、通过 e instanceof BusinessException 来进行区别抛出提示

try 里面的通过判断,进行自定义 throw,具体的就没写,如果想要再添加异常,则必须在 try 里面 throw,catch 才能够捕获。

// try 里面抛了两个自定义异常 // catch 里面进行捕获,根据类型返回不同的提示消息 // 这里的 BusinessException 异常是添加失败 // 这里的 Exception 异常是数据库异常或者表不存在又或者表被改名了...... try { throw new BusinessException("添加失败!"); // throw new Exception("数据库异常!"); } catch (Exception e) { if (e instanceof BusinessException) { throw new Exception(e.getMessage()); } else if (e instanceof Exception) { throw new BusinessException(msg); } } // 我的 catch 里面 throw 不一样是因为 BusinessException 里面有自定义拼接的通用字符串。 // 这里面可以一样:catch 里面的 throw

注释的那个异常是写不写都一样(前提是出现这个异常),都能捕获得到,就是都能够进 catch

try 里面的通过判断,进行自定义 throw,上面我就没写。

2、通过 try {} catch () {} catch () {} 来进行区别抛出提示(建议此种方法)

catch里面写异常,大括号里面进行处理,切记,最里面的catch异常是最小的,先执行第一个catch,如果没有才会执行第二个catch,从第一个到后面的等级越来越大。

try { throw new BusinessException("添加失败!"); // throw new Exception("数据库异常!"); } catch (BusinessException e) { String msg = "添加失败"; throw new BusinessException(msg); // throw new Exception(msg) } catch (Exception e) { String msg = "数据库异常!"; throw new Exception(msg); // throw new BusinessException(msg) } // throw 自定义异常根据公司业务需求自定义选择,这里仅仅列举了两个

 

 

    需要注意的是,无论哪一种方式,当程序处理运行异常时候,只能进入特定的一个,如果你想要进入自定义异常,在 try 里面必须抛出来,才会捕获到自定义的异常!!!!其实,换句话说,这篇文章就是讲这个多情况异常的,肯定是需要自定义的,所以 try 里面肯定会抛异常的,只不过根据自己的业务去定具体需要抛几个的问题而已。

    假定情况:这是个添加的方法,而且你需要分 3 种情况,进行区分提示,那么 try 里面只需要抛 2 个自定义的异常即可,catch 里面会有 3 个,多出来的那一个是程序运行时捕获的那个。(一般来说是这样的)

 

 

小贴士:

获取异常类型:e.getClass()

获取异常信息:e.getMessage()

放在输出语句里面即可

 

 

 

总结:

    在 service 里面实现的方法里面进行业务处理,进行 try catch,要注意的是,一般来说都会用一个 try 把代码全部包起来,如果有多个业务处理,需要进行区分,就多写 catch,叫做 try 不够,用 catch 来补。(两种方式,上面有介绍)

    提示消息:是把 msg 以参数的形式,抛给上一层,即放在自定义的异常里面,action 获取到的就是 msg,这一步做到了把代码的异常错误消息,转为自定义提示消息。

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有