我有一个用户控件,它包含多个方法,并且每个方法都有一个try-catch块。我只捕获一种类型的异常,例如ArgumentException。更新 - 我没有发现一个例外,但我定义了多个例外。如何捕获用户控件中的所有异常
这些方法都以相同的方式处理ArgumentException,所以我有冗余代码。
我可以在一个位置捕获ArgumentException,以便用户控件中的所有方法都可以使用它吗?
Update1:该应用程序正在生产中使用,它被很多不熟悉计算机的人使用。简化 - 他们必须在数据库中插入大量数字(在手持式光学扫描仪的帮助下),当然他们会犯错误。至少有8种常见的异常(错误的大小,错误的类型......),并且在我的业务逻辑中,我捕获了所有这些异常并将它们投入GUI。因为安装应用程序的环境非常糟糕,所以我会播放大声的错误声音并显示错误消息。
由于业务逻辑的原因,他们有几个选项来插入这些数字,因此同一个错误捕获逻辑在用户控件中都有多种方法。
UPDATE2:其实我没有赶上ArgumentException的,但我自己的异常,例如 CodeFormatException,CodeDoesntExistException,CodeNotInTheSelectedRollException等
这是口袋妖怪异常处理。你不能处理一个ArgumentException,它是一个编程错误。你的catch处理程序不能重写源代码来修复这个bug。 – 2010-10-31 20:14:34
我不确定我了解你的答案。我更新了我的问题以更好地描述我的问题。 – sventevit 2010-11-01 09:24:19
@Hans Passant:我完全同意你的看法。 – Svisstack 2010-11-01 20:20:28