![]() |
1
9
这些都是很好的职位。到目前为止,我最赞同BrianRasmussen的观点——当您想要处理不同类型的特定异常时,可以创建自定义异常。
也许举个例子会有所帮助。这是一个人为的例子,在日常代码中可能有用,也可能不有用。假设有一个类负责对用户进行身份验证。这个类除了对用户进行身份验证外,还有一个锁定机制,用于在多次尝试失败后锁定用户。在这种情况下,您可以设计为类2自定义异常的一部分:
例如:
再一次,一个人为的例子。但希望它能说明您希望如何以及为什么创建自定义异常。在这种情况下,
|
![]() |
2
9
|
![]() |
3
4
使用您自己的异常来标记特定于您的应用程序/域的错误。优点是,您的catch块可以过滤正确的异常并对其进行操作。对其他所有内容使用特定的标准异常。 |
![]() |
4
1
自定义异常允许您提供清晰、有意义的异常,反过来,如果您在适当的时候使用现有的异常,则可以使库更可用。 在需要引发不直接适合框架异常模型的异常时,随时创建自定义异常。 |
![]() |
5
1
我最近写了一篇关于这个特定主题的完整博客:
不过,基本的总结是…
|
![]() |
Konvt · 标准库中异常构造函数参数类型问题 6 月前 |
![]() |
EarthTurtle · 调整泛型抛出迭代器的异常类型 11 月前 |
![]() |
ê¹ë¯¼ì¬ · 在六边形的建筑中,例外情况应该扔到哪里? 1 年前 |
|
tariqalr · 带有try-catch块的无限循环的编译和返回值 1 年前 |
![]() |
CheezGuy · Python尝试/不停止错误除外 1 年前 |