肉松饼罗曼史
2017-06-22 12:07
采纳率: 21.1%
浏览 19.2k
已采纳

java怎么判断异常类型?

有一个场景的操作,抛出的异常可能是InvalidSelectorException、TimeoutException、NullPointerException,所以我想针对不同的异常做出不同的处理操作。这样保证代码的稳定运行。我写了一个方法,如图所示:
图片说明

这样子判断不行,求大神们指点一下,我希望可以判断出异常的类型。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 生如夏花帅 2017-06-22 12:27
    已采纳

    可以这样的try {} catch(){} catch(){},catch里面写异常,可以接着写异常,但是要记住,最里面的catch异常是最小的,先执行第一个catch,如果没有才会执行第二个catch,从第一个到后面的等级越来越大,希望这点你能懂

    已采纳该答案
    1 1 打赏 评论
  • 虚伪的真诚 2020-09-22 18:23

    代码参考下

            try {
                return this.deviceMainService.add(deviceMain,file);
            } catch (Exception e) {
                e.printStackTrace();
                if(e.getCause() instanceof SQLIntegrityConstraintViolationException){
                    return AjaxResult.error("设备序列号重复,请检查设备序列号.");
                }else{
                    return AjaxResult.error("系统内部错误,请联系管理员.");
                }
    
            }
    
    1 打赏 评论
  • PLA12147111 2018-05-01 23:12

    我是通过获取异常的信息,判断是否包含某字符串
    try{
    xxx
    }catch(Exception e){
    if(e.getMessage().contains("for key 'PRIMARY'")){
    out.write("no|该uid已存在");
    }else if(...){}
    }

    打赏 评论

相关推荐 更多相似问题