gpt4 book ai didi

java - 如何进行常见的异常处理

转载 作者:行者123 更新时间:2023-12-01 14:36:31 24 4
gpt4 key购买 nike

假设我有大约一百个具有此方法签名的类,这是该类的唯一入口导出方法:

public Map<String,Object> doSome(Map arg1, map arg2)

并且在方法体内有一个 try/catch block 。 catch block 捕获异常并重新抛出自定义异常。早些时候,程序会在 catch block 中放弃。现在我需要能够返回一个具有类似(“异常”,“这个类中有些问题”)之类的键值的映射。一种方法是在此 doSome 方法中创建一个附加方法(并将当前代码插入新方法中),并用 try/catch 包围此方法调用,并在 catch block 中捕获自定义异常并编写通用方法填充返回的 map
对于所有这 100 多个类来说,实现这一目标的最佳方法是什么?
我想知道使用 Spring AOP 是否可以实现这样的事情?但是我遇到的大多数 Spring 建议都不允许返回值(这意味着控件永远不会返回到抛出异常的位置)。
如果有人能给我指出具体的例子,那就太好了。

最佳答案

这听起来像是可以通过父类提供的某些功能来解决的问题。

让 100 个类(真的,100 个??!)中的每一个都扩展一个抽象父类。让父类定义 doSomething 方法:

public Map<String,Object> doSome(Map arg1, Map arg2) {

try {
doSomething(arg1, arg2);
} catch (Exception e) {
// clever handling here
}
}

确保 doSomething() 方法在 ExceptionHandler 中定义为抽象方法。当然,更好的方法名称将受到欢迎。

每个子类都会实现自己的 doSomething() 变体

关于java - 如何进行常见的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16444228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com