.net - 根据消息捕获异常是否合理?

标签 .net exception

我想优雅地处理带有特定消息的特定异常。不幸的是,它只是一个 ArgumentException,并不特定于我要查找的内容。在这种情况下,消息是“已添加具有相同键的项目”。这是一个异常(exception)情况,但我想处理它,以便我可以将它变成一个特定的异常(exception)或用非技术术语通知用户。

编写代码来查找该消息似乎是个坏主意,但我还能做什么?

最佳答案

您是添加该项目的人吗?如果是这样,首先编写代码来避免它发生。

处理 ArgumentException 应该是非常罕见的,并且难以置信根据消息处理它。基本上,只有当你力所能及的一切都失败时,你才应该被迫这样做,例如它是导致异常的第三方库。 (在这种情况下,您应该联系第三方,让他们也提出自己的想法。)

编辑:调用 ToLookup 而不是调用 ToDictionary。然后,您可以检查是否有任何包含多个条目的结果。

或者,编写您自己的 ToDictionary 版本,根据您的情况以正确的方式处理此问题 - 这非常简单。

关于.net - 根据消息捕获异常是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883648/

相关文章:

c# - 没有谷歌播放服务,Xamarin 应用程序将无法运行

.net - 从 .NET GC 的角度来看,在非托管代码中导致过早收集的事件顺序是什么?

php - 空异常类有什么用途?

c# - word.otherword 的正则表达式

c# - 在 C# 中使用 OLEDB 连接读取 Excel 文件

exception - 我应该在我的错误中添加句号/期间吗?

exception - 错误是值(value)观(博客)——在逻辑上是一样的吗?

.net - 为什么 InvalidEnumArgumentException 在 Silverlight 4 中已过时?

java.rmi.ServerException : RemoteException occurred in server thread (ClassNotFoundException)

c# - 如何在异常处理程序 - WebAPI 中获取请求 JSON 消息?