我有一个企业应用程序,每当发生异常时都会记录异常信息。该应用程序是C#和C++.net的组合。
我想尽可能地获得异常时的信息。截至目前,我们只打印出消息和堆栈跟踪(在调试版本中给出行号,但在发布版本中不提供)。
任何错误日志的目标都是尽其所能地指出错误(尽可能接近)。我想知道如何进一步实现这一点?我想要更多的信息。
例如,我知道NullReferenceExceptions和InvalidArguementExceptions包含不同数量的信息,但除了'Message'字段外,我没有利用任何信息。
最好的方法是使用反射并捕获所有公共成员并将其打印出来吗?或者通过链接大量类型检查和强制转换来清晰地打印它们?作为限制条件,我的日志函数只需接受Exception类型的参数。
我想尽可能地获得异常时的信息。截至目前,我们只打印出消息和堆栈跟踪(在调试版本中给出行号,但在发布版本中不提供)。
任何错误日志的目标都是尽其所能地指出错误(尽可能接近)。我想知道如何进一步实现这一点?我想要更多的信息。
例如,我知道NullReferenceExceptions和InvalidArguementExceptions包含不同数量的信息,但除了'Message'字段外,我没有利用任何信息。
最好的方法是使用反射并捕获所有公共成员并将其打印出来吗?或者通过链接大量类型检查和强制转换来清晰地打印它们?作为限制条件,我的日志函数只需接受Exception类型的参数。
ToString()
通常已经满足我的需求。这会给我异常类型、消息和堆栈跟踪信息。 - cdhowie