C#当数字超出范围时应该抛出什么异常

时间:2013-11-06 17:23:19

标签: c# exception exception-handling

我有一个生成数字的简单C#方法。如果系统试图生成一个超出已定义范围的数字,我想抛出一个异常,但有很多,我不确定要抛出什么异常?

http://msdn.microsoft.com/en-us/library/system.systemexception.aspx

一个示例是返回下一个可用数字的方法,但不应该大于100.如果系统尝试生成一个数字(即101),那么我想抛出异常。

2 个答案:

答案 0 :(得分:5)

您正在寻找ArgumentOutOfRangeException - 当参数的值超出被调用方法定义的允许值范围时引发的异常。 (MSDN:http://msdn.microsoft.com/en-us/library/system.argumentoutofrangeexception%28v=vs.110%29.aspx

答案 1 :(得分:0)

OverflowException 似乎可以满足您的需求:

<块引用>

OverflowException,当操作的结果为 超出目标数据类型的范围。也就是说,它小于 number 的 MinValue 属性或大于其 MaxValue 属性。为了 例如,尝试将 200 + 200 分配给 Byte 值会引发 OverflowException 异常,由于 400 大于 256,上 Byte 数据类型的边界。 https://docs.microsoft.com/en-us/dotnet/api/system.arithmeticexception?view=net-5.0