我需要捕获特定的 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/