c# - 检测特定参数异常?

标签 c# asp.net try-catch argumentexception

我需要捕获特定的 ArgumentException。

System.ArgumentException: Input array is longer than the number of columns in this table.

我注意到可能会发生许多 ArugmentExceptions,但我将如何着手专门捕获这个异常? “输入数组长于此表中的列数”

不幸的是,catch(ArgumentException ex) 不够具体...

我们正在上传一个制表符分隔的文件,上面的异常告诉我们告诉用户检查文件中的列数并重试。

最佳答案

不要捕获异常 - 首先要避免它发生。您有输入,所以您知道提供了多少列。您知道要向其中添加数据的表,因此您知道有多少列可用。

在尝试添加行之前,您可以并且应该检查数据的有效性。就这么简单。

ArgumentException 几乎永远不会 应该被捕获和“处理”。这应该表明调用者提供了一个错误的论点可以事先验证。这是一个编程问题,应该通过在调用方添加适当的代码来解决。

关于c# - 检测特定参数异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080608/

相关文章:

c# - Javascript 从 C# 方法获取进度

c# - 从扫描仪(类似键盘)设备获取输入字符串 C# .net

c# - 如何使用正则表达式和 C# 提取特定的 URL 段

asp.net - ReportViewer 变形的工具栏

c# - 在 PreRender 中读取脚本标签

java - 我在运行 java 线程时遇到问题,它只能运行一次

java - try/catch block 中引发的异常 (Java)

c# - 如何创建一次性类

c# - 需要使用C#刷新chrome浏览器

Java 自定义异常