是否存在表示非法对象状态的内置.NET异常?

Chr*_*org 56 .net c# exception

如果我遇到非法状态,我应该抛出什么异常 - 例如,初始化方法只应在第二次调用时调用一次?我真的没有看到任何有意义的内置异常.这似乎应该在框架中 - 我不是在正确的位置戳?

Mic*_*tum 69

可能是InvalidOperationException

方法调用对于对象的当前状态无效时引发的异常.

  • 越来越多的人应该使用InvalidOperationException而不是创建新的. (3认同)
  • 是的,或者至少从它派生,以便捕获InvalidOperationException也捕获派生的.查看从IOE(MSDN的底部)派生的异常,看看什么时候滚动你自己有意义. (2认同)