有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java解析异常的最佳实践。toString()来执行一些逻辑

我试图根据异常的toString()方法中包含的内容来确定处理异常的最佳方式,因为我正在处理的异常是包装和重新发布的。例如,当我打印出异常时,我可能会打印出以下内容。由超时导致的到控制台的toString():

DependencyFailureException [origin=someClass::someMethod statusReason=timeout]

在堆栈跟踪的更深处,有一个更具体的serviceTimeoutException,它被重新抛出,包装在DependencyFailure中。该异常更适合捕获上游,但我没有权限编辑该代码,以确保在重新抛出之前未对其进行包装

从toString()中提取statusReason=timeout,然后在该阶段执行一些逻辑,比如发出超时度量,有什么好方法?这是个好主意吗?我真的没见过很多这样的例子

从本质上讲,在我们的代码库中,特定的异常会在早期被捕获,然后作为一般故障异常重新抛出,并附加一些特定的上下文消息

对这一点的任何了解都会有所帮助

谢谢


共 (0) 个答案