为啥使用用户定义的异常而不是简单地显示错误消息[重复]

Posted

技术标签:

【中文标题】为啥使用用户定义的异常而不是简单地显示错误消息[重复]【英文标题】:why use user defined exception rather than simply showing error message [duplicate]为什么使用用户定义的异常而不是简单地显示错误消息[重复] 【发布时间】:2018-01-03 12:08:13 【问题描述】:

请说明用户定义异常的优点。

为什么人们使用用户定义的异常并通过 throw 调用它 关键字,可以直接在代码中简单地完成操作 堵塞。创建用户定义的异常的必要性是什么。 请任何人解释一下。

【问题讨论】:

指示(向调用方法)发生了异常。什么动作要直接在代码块中完成?如果这样做有问题怎么办? 请在询问之前search first。这个问题之前已经被问过/回答了数百次。 其他 StackExchange 网站上的相关问题:Pros and cons of custom exceptions 【参考方案1】:

为什么要使用异常

异常用于表示代码执行过程中发生了错误。

并非总是需要处理发生异常的异常。在这种情况下,您将异常抛出给调用者。

通常可以使用标准的现有异常来处理大多数情况。

为什么要使用自定义异常

如果您正在开发一个可供他人使用的库,您可以将处理异常的责任留给该库的用户。

在这种情况下,已经存在的异常有时并不是解释引发了何种异常的最佳解决方案。所以有必要创建一个自定义异常。

如果您与其他人一起参与一个项目,您也可以这样做。创建一个异常解释发生了什么,并让谁使用你的函数来根据需要处理它们。

【讨论】:

以上是关于为啥使用用户定义的异常而不是简单地显示错误消息[重复]的主要内容,如果未能解决你的问题,请参考以下文章

servlet抛出运行时异常时如何在浏览器中显示用户友好的错误页面?

Azure 服务总线:通过具有内置重试策略的消息泵接收到的瞬时错误(异常)。为啥?

用于检索自定义消息而不是异常详细信息的 PLSQL 异常处理

Spring Security:来自 UserDetailsS​​ervice 的自定义异常消息

为啥设置 SQL 变量会产生错误?

在Swift 2中使用自定义消息抛出错误/异常的最简单方法?