我有c#.net代码,它调用另一个外部/引用.net程序集的方法。我调用的这个方法抛出一个异常,如果来自我传递它的对象的某个属性为null。这是概括地说:检测引用DLL(.Net)中的方法抛出的异常
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的加载方法我的客户端代码,我想能够检测这个特定的异常发生,也许是它的“富属性区分为空或空“消息。目前,当它遇到这个方法时,我得到一个NullReferenceException,所以我发现这个异常。
问题1: 我可以得到与我调用的代码(在引用的程序集中)引发的异常相关的错误消息?
问题2: 这被认为是不好的做法或者可能只是非典型的?
很明显,我可以反汇编第三方DLL来发现我传入的obj必须有这个“Foo”属性集。所以,我的问题在于练习(因为我是一个n00b)。
这是非常糟糕的做法,本地化您的应用程序会破坏您的代码。 –
@Hans我不明白 - 这是不好的做法,赶上我打电话的代码抛出异常吗?我不确定你的意思是“本地化”你能帮助我吗? – JohnZaj
@hans为了简洁起见,它没有被本地化。我同意你的评论 – JohnZaj