相关疑难解决方法(0)

显示完整InnerException的正确方法是什么?

什么是展示我的全部的正确方法InnerException.

我发现我的一些InnerExceptions有另一个InnerException,而且非常深入.

InnerException.ToString()做的工作,我还是我通过需要循环InnerExceptions,建立一个StringStringBuilder

c# exception inner-exception

147
推荐指数
7
解决办法
8万
查看次数

.NET:如何将异常转换为字符串?

抛出异常时(在IDE中进行调试时),我有机会查看异常的详细信息:

在此输入图像描述

但在代码中,如果我打电话,exception.ToString()我不会看到这些有用的细节:

System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'FetchActiveUsers'.
  [...snip stack trace...]
Run Code Online (Sandbox Code Playgroud)

但Visual Studio有一些魔力可以将异常复制到剪贴板:

在此输入图像描述

这给出了有用的细节:

System.Data.SqlClient.SqlException was unhandled by user code
  Message=Could not find stored procedure 'FetchActiveUsers'.
  Source=.Net SqlClient Data Provider
  ErrorCode=-2146232060
  Class=16
  LineNumber=1
  Number=2812
  Procedure=""
  Server=vader
  State=62
  StackTrace:
       [...snip stack trace...]
  InnerException:
Run Code Online (Sandbox Code Playgroud)

好吧,我想要那个!

会是什么内容:

String ExceptionToString(Exception ex)
{ 
    //todo: Write useful routine
    return ex.ToString();
}
Run Code Online (Sandbox Code Playgroud)

这可以实现同样的魔力.是否在某处内置了.NET功能?是否Exception有一个秘密的地方的方法将其转换为字符串?

.net c# exception tostring

51
推荐指数
5
解决办法
3万
查看次数

什么是Exception的.ToString()和.Message之间的区别?

我正在查看一些代码,我发现了e.ToString(),我想知道使用ToString()方法而不是.Message是否有区别?

阅读下面,听起来它返回更多信息.

来自微软的文档

.NET Compact Framework支持的ToString.覆盖.创建并返回当前异常的字符串表示形式.

.NET Compact Framework支持的消息.获取描述当前异常的消息.

c# exception

21
推荐指数
3
解决办法
1万
查看次数

在try-catch子句上显示异常

到目前为止,每当我想显示我使用的代码抛出异常时:

try
{
    // Code that may throw different exceptions
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());         
}
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码主要是出于调试原因,以便查看异常的确切类型以及抛出异常的相应原因.

在我正在创建的项目中,我使用了几个try-catch子句,并且我想在出现异常时显示弹出消息,以使其更加"用户友好".通过"用户友好",我的意思是一条消息,它将隐藏当前使用上述代码显示的Null Reference ExceptionArgument Out of Range Exception等短语.

但是,我仍然希望查看与创建消息的异常类型相关的信息.

有没有办法根据以前的需要格式化抛出异常的显示输出?

.net c# exception try-catch

15
推荐指数
2
解决办法
6万
查看次数

我应该在生产应用程序中登录什么

我正在开始一个新项目,并在思考我应该记录什么.日志文件仅用于帮助开发人员发现错误.用例是当抛出未处理的异常时,会向开发人员发送通知,该开发人员可以访问日志文件和堆栈跟踪.

我应该在日志文件中包含哪些内容?记录一切都不会起作用.我知道这很难说,因为答案可能需要对系统有深入的了解.所以我想我真的要求"最佳实践".请举例说明.

它还取决于应用程序类型,如桌面客户端应用程序,桌面服务器或Web服务器?

.net logging

9
推荐指数
2
解决办法
1862
查看次数

Exception.Message V Exception.InnerException.Message

我目前正在记录错误,并希望获得最具描述性的详细信息.我知道我可以捕获许多不同类型的异常但是Exception.Message和之间有什么区别Exception.InnerException.Message

exception-handling exception

4
推荐指数
1
解决办法
1580
查看次数