![]() |
1
4
你是添加项目的人吗?如果是这样,那么首先编写代码以避免这种情况发生。
这应该是非常罕见的处理一个问题
编辑:而不是调用
或者,编写自己版本的
|
![]() |
2
2
您可以创建自己的从
例如:
但是,如果它是来自第三方组件的异常,除了
|
![]() |
3
2
永远不要使用
|
![]() |
4
2
如果您正在使用Enumerable.ToDictionary方法构建字典,则ArgumentException始终意味着一个重复的键。您根本不需要检查消息,只需将ToDictionary调用放在它自己的语句中并捕获ArgumentException。 这在Enumerable.ToDictionary中提到 documentation . 更一般地说,基于消息本身处理任何异常几乎总是一个坏主意。除此之外,异常消息可能会本地化,并且文本会根据操作环境的不同而有所不同。 |
![]() |
5
1
您可以避免该异常,并在添加新条目之前使用.ContainsKey方法检查字典。 |
|
6
1
|
![]() |
7
1
不根据消息筛选异常的另一个原因是消息可能已本地化!对于.NET framework组件引发的异常尤其如此。 |
![]() |
8
0
我同意这味道,但看起来你别无选择。。。 |
![]() |
9
0
|
![]() |
10
0
如果这个异常在第三方库中,并且肯定没有办法生成您自己的异常,那么我将继续查看异常的“StackTrace”或“TargetSite”属性,因为它们都为您提供了完全相同的类名,不能通过切换区域设置或类似的方式来更改。 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |