我想要一个黑客。我尝试的是在抛出异常后执行一些业务逻辑。业务逻辑在catch块中定义。我不想将catch语句保留在catch块的末尾。有什么黑客可以尝试吗?我在想的是在该点和内部创建一个抛出异常的线程。我不确定它是否会起作用。请帮帮我。
//
让我告诉你我的场景,我正在使用@ExceptionHandler注释处理所有异常,如本文所述。 https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc#user-content-sample-application一些复杂的情况,无法解释原因。我想要的是如果它由catch块处理,那么我希望在@ExceptionHandler中触发它,因为我有一些其他的业务逻辑。问题是除非抛出异常,否则不会触发@ExceptionHandler。如果它进入catch块,我想要触发它。但是如果catch块没有抛出任何异常,它就不会触发。
此上下文中的业务逻辑我的意思是作为一些记录功能。
答案 0 :(得分:2)
它不是黑客,也许没有多大意义。
1)如果您想throw
一些例外,请立即throw
。
2)如果您想在exception
加注时执行一些业务逻辑,请执行此操作,然后throw
exception
。
但是如果你想抛弃并做一些,那么没有任何脏代码就不太可能。在这里似乎有一种代码味道。
在question Edit之后进行修改:
虽然它是日志记录,但仍然可以在投掷之前进行日志记录,投掷之后没有必要生成日志。