gpt4 book ai didi

c# - 继承 System.Exception 之外的内置异常类

转载 作者:行者123 更新时间:2023-11-30 17:03:07 27 4
gpt4 key购买 nike

除了 Exception 之外,继承系统异常是否是一种好的做法,如果它有意义的话?例如,如果我的自定义异常是特定类型的“无效操作”,那么继承 System.InvalidOperationException 是否明智?

我问的原因是我有许多类抛出 InvalidOperationException 和相同的消息。我正在考虑用可以定义自己的默认消息的自定义异常替换它们。如果要继承 InvalidOperationException,我就不必重构 catch 处理程序。

最佳答案

不,简短而简单的原因是因为 InvalidOperationException 派生自 SystemException根据文档

Defines the base class for predefined exceptions in the System namespace.

Exception 派生被认为是最佳实践.


澄清一下 - 从 InvalidOperationException 派生没有任何问题(至少我知道)。但是,从 InvalidOperationException 等现成异常派生可能会导致您承担可能不需要的额外负担。我认为您真正需要问的问题是

“我将从 InvalidOperationException 派生到 Exception 中得到什么?”

根据我的个人经验,除了 Exception 之外,我从来没有真正需要从任何东西中派生。

关于c# - 继承 System.Exception 之外的内置异常类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18962833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com