c# - if 抛出异常的语句?

标签 c# exception exception-handling

嗨,我想问一下,因为我不确定是否适合使用异常:

public int Method(int a, int b) {
   if(a<b) throw new ArgumentException("the first argument cannot be less than the second");
   //do stuff... 
}

我可以在 if 语句后抛出异常吗?还是我应该始终使用 try - catch 来处理异常?

最佳答案

这是完全正确的。这正是异常的用途,检查您的逻辑中的“异常”,以及不应该出现的事情。

捕获异常背后的想法是,当您将数据传递到某个地方并对其进行处理时,您可能并不总是知道结果是否有效,这就是您想要捕获的时间。

关于您的方法,您不想在 Method 中捕获但事实上当您调用它时,这里有一个示例:

try
{
    var a = 10;
    var b = 100;
    var result = Method(a, b);
}
catch(ArgumentException ex) 
{
    // Report this back to the user interface in a nice way 
}

在上面的例子中,a小于b所以你可以except在这里得到一个异常,你可以相应地处理它。

关于c# - if 抛出异常的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6184691/

相关文章:

c# - 我应该如何将域对象的属性传输到其模型对应项?

c# - 如何使用 C# 获取 PDF 文件中的彩页数?

Java异步异常: Can I catch them?

c# - 无法捕获 MS Chart 控件异常

java - 在 Java 中抛出一个异常链表

c# - ILGenerator 捕获异常不起作用

c# - 如何比较两个图像并提取其差异?

c# - 以编程方式在 WinForm 和控制台之间切换

node.js - 无法使用 express 处理 node.js 域的异常

c++ - 为什么要在 catch block 中使用 "const"?