gpt4 book ai didi

c# - 我应该抛出哪个异常来表示程序中的内部错误?

转载 作者:IT王子 更新时间:2023-10-29 04:44:19 26 4
gpt4 key购买 nike

当程序达到我“知道”不会发生的逻辑状态时,我应该使用哪个异常?如果发生了,那就是非常糟糕的事情?

例如:

int SomeFunction(int arg) {
SomeEnum x = Whatever(arg, somePrivateMember);
switch (x) {
case SomeEnum.Value1:
return SomeFunction1();
case SomeEnum.Value1:
return SomeFunction2();
default:
throw new WhatTypeToThrow();
}
}

显然,ArgumentException 在这里是不可能的,因为 x 的无效值可能来自 Whatever() 中的错误,或者任何参数和/或当前实例状态的无效组合。

我正在寻找诸如 InvalidProgramStateException、InternalErrorException 或类似的东西。

当然我可以自己定义,但我想知道框架中是否有合适的异常。

编辑:删除了简单示例代码以减少 ArgumentException 答案的数量。

最佳答案

InvalidOperationException 呢?

关于c# - 我应该抛出哪个异常来表示程序中的内部错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3313906/

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