如何提取该错误代码而不必依赖于如下面的代码中所示的转换?在屏幕截图中,Number是对象InnerException的属性,但它无法访问。
try
{
// db call
}
catch (Exception exc)
{
// Works
var q = exc.InnerException as SqlException;
var ErrorCode = q.Number;
// Not possible
var err = exc.InnerException.Number;
}
为什么这不可能,还有其他选择吗?另外,在哪里可以找到InnerException Number属性的文档?
答案 0 :(得分:1)
此外,在哪里可以找到InnerException Number属性的文档?
该属性是var latlng = new LatLng(34.9820, 138.5160);
gMap.MoveCamera(CameraUpdateFactory.NewLatLng(latlng));
类的成员。记录here。
因为它是该类的成员,而不是基类SqlException
类,所以如果没有某种形式的转换,就无法直接访问它。 (Exception
被定义为Exception.InnerException
,而不是Exception
。)但是,如果有特定的内容,您不会对您的方式感到满意。重新构建它,有一些与您可能想要利用的转换和类型检查相关的不同语法。你对目前的做法不喜欢什么?