java 捕获特定异常_java – 使用特定消息捕获异常

是否有更好的方法来捕获具有消息的特定异常,然后执行此操作:

try{

methodThatWillProbablyThrowASocketException();

} catch(SocketException e){

if(e.getMessage().contains("reset")){

// the connection was reset

// will ignore

} else{

throw e;

}

}

例如,HttpStatusException为我提供了方法getStatusCode(),我可以轻松地比较错误状态是404还是502,并且可以决定做什么:

try{

methodThatWillProbablyThrowAHTTPException();

} catch(HttpStatusException e){

if(e.getStatusCode() == 404){

// not found, will not continue

}

if else(e.getStatusCode() == 502){

// server errror, try again

} else{

throw e;

}

}

大多数其他例外不给我探测器方法,只是消息.

所以我的问题是,这是正确的方法吗?用String比较?或者,还有更好的方法?

最佳答案 做一件事.

>收集项目可能发生的所有类型的异常.

>通过扩展Exception创建一个单独的类.

>重写getCause()方法.

public Throwable getCause()

为不同的异常定义你想要的代码就像空指针101一样……

每个地方使用那个班级.因此,您必须只编写一次异常,并且可以使用尽可能多的项目.

建立课程后,它将可以重复使用,满足您的所有需求

如果您获得新条件,请仅更新此课程,所有事情都将完成

根据我的说法,这是更好的解决方案……

这样您就可以获得正在寻找的功能.你必须自己做.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值