检测特定的参数异常?

Stu*_*art 1 c# asp.net try-catch argumentexception

我需要捕获一个特定的ArgumentException.

System.ArgumentException:输入数组长于此表中的列数.

我注意到可能会出现一些ArugmentExceptions,但我将如何专门捕获这个?"输入数组比此表中的列数长"

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

我们正在上传制表符分隔文件,上面的例外告诉我们告诉用户检查文件中的列数并再试一次.

Jon*_*eet 5

不要抓住异常 - 首先避免它发生.您有输入,因此您知道已提供了多少列.您知道要添加数据的表,因此您知道有多少列可用.

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

ArgumentException应该几乎永远不会被抓住并"处理".它应该表明调用者提供了可以事先验证的错误参数.这是一个编程问题,应该通过在调用端添加适当的代码来修复.