检测引用的DLL(.Net)中的方法引发的异常

时间:2012-06-24 04:21:55

标签: exception dll nullreferenceexception

我有c#.net代码,它从另一个外部/引用的.net程序集调用一个方法。如果我传递的对象的某个属性为null,我调用的这个方法会抛出异常。简而言之:

public void Add(string key, object obj)
{
..
//if the Foo property from obj is null then
throw new Exception("Foo property is null or empty")
..
}

在我调用DLL的Add方法的客户端代码中,我希望能够检测到引发了这个特定异常,可能通过其“Foo属性为null或为空”消息来区分。目前,当我遇到这个方法时,我得到一个NullReferenceException,所以我抓住了这个异常。

问题1: 我是否可以获取与我正在调用的代码(在引用的程序集中)抛出的异常相关的错误消息??

问题2: 这被认为是不好的做法还是仅仅是非典型的?

显然,我可以反汇编第三方DLL,发现我传入的obj必须具有此“Foo”属性集。所以,我的问题在某种程度上是为了锻炼(因为我是一个n00b)。

1 个答案:

答案 0 :(得分:0)

捕获System.Exception并显示异常Message属性是我所需要的。起初,我一直在Add方法中获取NullReferenceException,其中“对象引用未设置为对象的即时消息”消息,但我期望得到一个带有消息“Foo属性为空或空”错误的异常。我的代码中的某些条件发生了变化,现在我得到了我的期望。