我有一个场景,我需要根据他的主要身份/替代身份找到订阅者。
现在可能存在操作失败的情况。如DBDown,未找到订阅者,未找到替代身份的主要身份等。
现在要处理这种情况,我有两种选择。
为每个或一组故障方案创建特定例外。
public class SubscriberFetchingFailedException extends Exception {
public SubscriberFetchingFailedException(String message) {
super(message);
}
}
/**
* throw when Primary identity not found against alternate identity
*/
public class PrimaryIdentityNotFound extends SubscriberFetchingFailedException {
public PrimaryIdentityNotFound(String message) {
super(message);
}
}
您可以与 IOException 和 FileNotFoundException 进行比较。
仅创建一个例外,并为每个方案提供错误代码。
public class SubscriberFetchingFailedException extends Exception {
public SubscriberFetchingFailedException(String message, int errorCode) {
super(message);
}
}
您可以将其与 SQLException 进行比较。
我有最多10个错误情况。
现在我想知道哪一种方法更好。
答案 0 :(得分:1)
两者都可以接受,但您可以尝试将两种方法结合起来。尝试将错误分组为一般类型的错误,然后您可以为该组提供特定的错误代码。如果类别足够相似,例如所有类别都是SQL错误,那么只要显示相应的错误消息,就可以使用一个组。