在java中编写用户定义的异常的最佳实践或良好策略

时间:2011-11-10 09:03:20

标签: java exception

我想为我的项目编写自定义异常类。我需要创建一个Exception框架工作,以便它可以在不同的项目中使用。请指导我需要解决的所有策略或步骤。

1 个答案:

答案 0 :(得分:6)

Java中的异常是从Throwable继承的普通对象。确定是否要检查异常(即编译器验证可抛出它们的方法签名中的throws子句)。如果要检查自定义异常,则从RuntimeException继承Exception(如果不是)。您还可以扩展Error以查找应导致应用程序退出的不可恢复的异常。

在编写自己的异常时,请专注于使它们具有描述性 - 也就是说,如果抛出异常,您应该大致了解异常消息及其堆栈跟踪的错误。将消息作为参数的异常构造函数是您的朋友。 ExceptionRuntimeException都提供了必要的构造函数,因此最简单的构造函数只需要调用它们。

请记住将异常保留在与抛出它们的方法相同的抽象级别。例如,如果您具有用于访问隐藏特定数据库的实现细节的域对象的通用接口,则在出现错误时,您不应简单地重新抛出数据库连接引发的异常。您可以使用正确的抽象级别将这些异常包装在您自己的异常类中。和以前一样,ExceptionRuntimeException已经有了构造函数。

无法真正帮助您规划项目和特定类中的异常层次结构,因为您没有提供有关它的任何详细信息。请通过更具体的项目描述更新您的问题。