Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理引发异常的属性值_C#_Exception_Properties - Fatal编程技术网

C# 处理引发异常的属性值

C# 处理引发异常的属性值,c#,exception,properties,C#,Exception,Properties,我对检查null时c#属性引发异常有点问题。 我无法访问包含导致此问题的属性的类,否则将很容易修复 基本上,我有一个包含导入的类的视图模型。导入的_类由共享库中的方法填充。当导入的_类中的属性抛出异常而不是返回null或值时,我遇到了一个问题 它不会使应用程序崩溃,我只是无法检查null以防止任何可能的错误 我可以将该属性分配给一个局部变量,用try/catch包装以捕获错误,但我发现仅对一个属性来说,这太笨拙了 我的问题的一个例子: public string getPropertyA {

我对检查null时c#属性引发异常有点问题。 我无法访问包含导致此问题的属性的类,否则将很容易修复

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

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

我可以将该属性分配给一个局部变量,用try/catch包装以捕获错误,但我发现仅对一个属性来说,这太笨拙了

我的问题的一个例子:

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

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

请不要只是要求我们为您解决问题。向我们展示你是如何试图自己解决问题的,然后向我们展示结果是什么,并告诉我们为什么你觉得它不起作用。请参阅“”,以获取一篇您确实需要阅读的优秀文章。没有太多的选项,要么让异常炸毁您的电脑,要么让它捕获。异常可以是任何东西。异常是什么?引发了哪个异常?如果是nullreferenceexception,则导入的类可能为null,与对象的属性无关。我已经告诉过您我的一个解决方案(将其包装在try/catch中),尽管不是一个非常有效的解决方案,因为这个导入的类被用于多个位置,而不仅仅是单个位置。如果能找到一种更有效的方法来处理它,那将是一件好事,这就是我真正想要的。我希望能找到一种方法来避免这种情况,但不幸的是,我想我不得不坚持下去。感谢您的快速回复!