例外不只是发生。当您的代码抛出异常时,例如,如果您尝试除以 0 并得到 a DivideByZeroException
- 这意味着某处的某些代码必须有类似throw new DivideByZeroException();
. (诚然,这是对问题的简化。)
所以为了抛出你想要的异常 - 你必须测试输入,如果它不好,那么抛出一个异常。
并假设您并不意味着您需要自定义异常(例如FiveToNineException
)-您可以使用它:
if (i >= 5 && i <= 9)
{
throw new Exception("5 to 9 Exception");
}
或者:
if (i >= 5 && i <= 9)
{
Exception e = new Exception("5 to 9 Exception");
e.Data.Add("The number ", i);
throw e;
}
编辑
对于一个非常简单的自定义异常:
public class FiveToNineException : System.Exception
{
public FiveToNineException() : base() { }
}
然后你可以拥有:
throw new FiveToNineException();
和:
try {/*Do something*/ }
catch (FiveToNineException ex) { }
有关更多信息,请参阅此链接以获取我的问题的答案。