处理引发异常的属性值

本文关键字:属性 异常 处理 | 更新日期: 2023-09-27 17:59:50

我遇到了一个问题,一个c#属性在检查null时抛出异常。我没有访问包含导致此问题的属性的类的权限,否则很容易解决。

基本上,我有一个包含Imported_Class的视图模型。Imported_Class是用共享库中的方法填充的。当Imported_Class的属性抛出异常而不是返回null或值时,我遇到了一个问题。

它不会使应用程序崩溃,我只是无法检查null以防止任何可能的错误。

我可以将该属性分配给一个局部变量,封装在try/catch中以捕获错误,但我发现这对于一个属性来说太笨重了。

我的问题的一个例子:

public string getPropertyA
{
  get { return Imported_Class.PropertyA; /* throws exception */ }
}

处理引发异常的属性值

如果Imported_class在获取属性之前没有为您提供测试条件的公共方法,那么我认为除了将调用封装在try/catch块中之外,别无选择。