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

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一样……

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

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

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

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

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

java 捕获特定异常_java – 使用特定消息捕获异常相关推荐

  1. java 异常处理发生异常_Java中的异常处理

    java 异常处理发生异常 Exception Handling in Java is a very interesting topic. Exception is an error event th ...

  2. java 如何忽略异常_java中如何解决异常

    原文 | dzone.com/articles/9-- 作者 | Thorben Janssen 翻译 | geekymv 无论你是初学者还是经验丰富的开发人员,对于你和你的团队来说,提高异常处理的能 ...

  3. java单元测试测试异常_Java单元测试中出现意外异常

    我真的是JUnit的新手和一般的单元测试,我很难找到合适的方法.处理意外异常的更好方法是什么?为什么? 方法A: 首先捕获预期的,通过消息测试失败 在最后一个catch块中,捕获一般异常并使测试失败并 ...

  4. java简单的异常_Java的简单理解(8)-异常(Exception)

    Java 异常处理 异常处理机制是Java语言中一个独特之处,它为开发稳定的软件系统提供了有力的支持.它主要使用捕获异常和声明抛弃异常两种方法来处理程序中可能出现异常的语句块,其中捕获异常的方法是一种 ...

  5. java 向上抛异常_java throws 向上抛出的概念问题

    展开全部 ------------------附注------------------------ 向上抛出的意思 针对  子类 父类, 这里面涉及到几个方面,最重323131333532363134 ...

  6. java未检查异常_Java中已检查和未检查的异常

    java未检查异常 Java有两种类型的异常-已检查和未检查. 简而言之,选中的是指开发人员可以从异常中合理恢复的情况,而未选中的异常是无法处理的编程错误. 本文介绍了何时使用哪种. 但这不是那么简单 ...

  7. java除零异常_JAVA异常处理

    出bug是写代码的时候非常常见的情况,今天就来讲一下. 首先明确一下什么是异常,代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行,就是异常. 1.常见的异常有以下几种 ...

  8. java事务抛异常_java中抛异常后如何使事务回滚

    spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作 代码中try--catch抛出的Exception异常,属于检查型异常,Spring的框架默认是不 ...

  9. java捕捉了异常_java 异常捕获与异常处理

    try{会产生异常的代码 }catch(出现异常的类型 e){ 异常出现后处理的方法 } 一旦异常出现又没有异常处理,程序就会中断. public static void main(String[] ...

最新文章

  1. 串口与COM口 USB口、TTL、RS-232、RS-485区别 释疑
  2. C/C++:Windows cmd 指令
  3. mysql 做回归模型_GitHub - themycode/intelligent-test-platform: intelligent-test-platform
  4. 排序算法java实现
  5. 前端学习(1987)vue之电商管理系统电商系统之通过路由加载商品列表
  6. 信息学奥赛一本通C++语言——1075:药房管理
  7. CEF编译教程(手把手教学版)
  8. android aar项目_一文了解Android游戏SDK开发
  9. 闭包——抽象解释的简单注释
  10. 第004讲 浮动窗口 表单及表单控件
  11. AP聚类算法(Affinity propagation Clustering Algorithm )
  12. 中国网络安全厂商、安全培训机构大全(2019-7-1)
  13. 男人:你是“橙皮男”还是“草莓男”?
  14. 【文献翻译神器推荐】DeepL
  15. 华为云WeLink端云协同会议是什么?
  16. java上位机开发(编译和部署)
  17. 哈希表及哈希函数研究综述
  18. 联想电脑进入bios
  19. [原创]软件开发过程中的QA与QC
  20. 用3DS MAX和PHOTOSHOP制作机器人----作者: Egbert Tjong 来源: 火星时代

热门文章

  1. 全世界最顶级的开发者都在使用什么数据库
  2. count sort, radix sort, bucket sort
  3. 美团--最小唯一前缀
  4. LiveVideoStackCon 2021上海站 售票通道关闭倒计时24h
  5. 音视频技术开发周刊 | 156
  6. RGB、YUV像素基础知识及处理数据
  7. 防火墙技术指标---并发连接数/吞吐量
  8. Android Studio的Gradle插件文档
  9. Scala _02基础
  10. JVM从入门到精通(一):JVM入门级class文件格式