自定义异常修饰符 class (java)
Modifier for custom Exception class (java)
我想在包中定义一个新的自定义异常 class。修饰符应该是什么?
它应该是 public(以防包外的另一个 class 抛出它)还是应该受包保护?什么是正确的做法?
谢谢
这取决于你打算如何使用它。
有些人仅为他们的自定义异常 classes 创建单独的包,在这种情况下,这些异常必须声明为 public
.
此外,如果您要在 public
class 中使用 throws
子句中的异常 public
方法,您还需要创建异常 public
.
但如果您打算仅在特定包内使用它,也可以将您的异常包设为私有。
如果你只想在你的包中抛出和捕获它,你可以将它设为包保护。但我建议将其设置为 public,这样每个人都可以捕获您的特定异常。
另一种方法是 make Exception class public,因此可以被其他包捕获,并允许所有者包抛出异常,您可以在包级别设置构造函数。
我想在包中定义一个新的自定义异常 class。修饰符应该是什么? 它应该是 public(以防包外的另一个 class 抛出它)还是应该受包保护?什么是正确的做法? 谢谢
这取决于你打算如何使用它。
有些人仅为他们的自定义异常 classes 创建单独的包,在这种情况下,这些异常必须声明为 public
.
此外,如果您要在 public
class 中使用 throws
子句中的异常 public
方法,您还需要创建异常 public
.
但如果您打算仅在特定包内使用它,也可以将您的异常包设为私有。
如果你只想在你的包中抛出和捕获它,你可以将它设为包保护。但我建议将其设置为 public,这样每个人都可以捕获您的特定异常。
另一种方法是 make Exception class public,因此可以被其他包捕获,并允许所有者包抛出异常,您可以在包级别设置构造函数。