我在C#中制作了自定义异常处理程序我希望在发生任何异常时为用户显示可读消息。
我已经尝试指定等待它的Hresult值的异常,但我有一个我还没有看到的问题,它显示了Hresult值和指定的异常
class UiException : Exception
{
public string Errormessage { get; set; }
public UiException(Exception e)
: base()
{
string exName = e.Source;
int errorNumber = e.HResult;
if (e.HResult == -2146233080)
Errormessage = "Index was outside the bounds of the array.";
}
}
答案 0 :(得分:0)
您不想使用HRESULT进行异常识别。 HRESULT主要用于COM互操作,在.NET中几乎没用。我建议如下:
ReactDOM.render((
<Router history={browserHistory} routes={
[<Route path = '/' component={Login}>
<Route path="main" component={main}>
<IndexRoute component={Home} />
<Route path = "/Accession" component = {Home} />
<Route path="/contact" component={Contact}/>
</Route>
</Route>]} />
), document.getElementById('App'));
广告,您可以轻松地从例外中提取更多信息(例如as
的{{1}})。ParameterName
财产绝对不需要。有ArgumentException
属性,适合您的目的,并且(如内部异常)得到广泛支持。因此,您的自定义异常应该更像这样:
Errormessage