我得到了引发相同类型异常的此类,如何捕获此异常并显示适当的错误消息。这就是我现在要做的。 通用标签

然后我做下面的事情, 通用标签

有帮助吗?

解决方案

您的示例并未真正证明自定义异常的合理性。我说只是显示原始消息。

但是,如果您真的想走自定义例外的道路,那么另一种选择是创建一个单独的自定义例外,该例外接受带有所有不同选项的enum,例如: 通用标签

其他提示

您可能会考虑抛出不同的异常类型。如果您希望使用库异常类型,如果旧密码为空或空,则将ArgumentNullException适合。或者,您可以考虑使用更具体的错误定义自己的异常类型(可能与WCF中的故障配置类似),或者在自定义异常中包含资源标识符(以确保I18N兼容):

public class ResourceableException : Exception
{
  public string ResourceKey { get;set; }
}
.

然后使用如此:

try { ... }
catch (ResourceableException e)
{
  messagebox.Show(ResourceManager.GetResource(e.ResourceKey));
}
.

您可以像这样创建自定义例外: 通用标签

然后可以像这样使用它们: 通用标签

然后您可以在try catch语句中处理它们,如下所示: 通用标签

因此,您可以以不同的方式处理不同类型的异常。希望这就是您想要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top