2016-08-19 73 views
0

我正试图在捕获块中获取Unique/Primary key Exception号码(2627).Net中的捕获例外编号

异常号可作为财产e.InnerException.InnerException(如图所示)enter image description here

但是当我尝试找回这个数字,我得到 - “例外”不包含“数字”。(请参阅使用问号图片)

  1. 为什么我无法检索这个数目,即使它的定义显然是属性
  2. 如何检索例外号码。

回答

1

这是因为e.InnerException.InnerException类型为Exception,它没有Number属性。为了访问Number属性,您需要转换为期望的运行时类型e.InnerException.InnerException

在这种情况下,它看起来像运行时类型是SqlException。如果是这样的话,那么你可以像这样表达你的手表(假设你正在使用C#):

((SqlException)e.InnerException.InnerException).Number