gpt4 book ai didi

c# - 获取基础异常信息

转载 作者:太空宇宙 更新时间:2023-11-03 20:47:00 24 4
gpt4 key购买 nike

我正在记录错误并向自己发送异常日志!喜欢下面的代码

    private void ExceptionForm_Load(object sender, EventArgs e)
{
Type exceptionType = _exception.GetType();

txtErrorMessage.Text = _exception.ToString();

if (exceptionType == typeof(Sybase.DataWindow.DbErrorException))
{
_exception = (Sybase.DataWindow.DbErrorException)_exception;

txtErrorMessage.Text += "Exception SQL data:" + exception;
}

}

现在的问题是这样的。 if (exceptionType == typeof(Sybase.DataWindow.DbErrorException)) then _exception 有额外的属性,比如出错的 SqlSyntax(例如,更新表中的内容)问题是我如何显示该数据。看来这不是我的异常(exception)。 exceptiontype = DbErrorException 但我似乎无法将我的 _exception 转换为它。或者这是不好的做法?或者我应该删除所有内容并从 MS 安装异常处理应用程序 block ?

最佳答案

问题不在于转换 - 而是您的 _exception 变量(大概)属于 Exception 类型。您需要声明一个正确类型的新变量。此外,您是否有任何理由使用 GetType() 而不是“as”或“is”?派生异常呢?试试这个:

private void ExceptionForm_Load(object sender, EventArgs e)
{
DbErrorException specificException = _exception as DbErrorException;
if (specificException != null)
{
txtErrorMessage.Text += "SqlSyntax=" + specificException.SqlSyntax;
}
}

关于c# - 获取基础异常信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com