c# - 这个异常格式化函数在内置的 ToString() 方法上添加了什么值
问题描述
我在阅读我们的大型代码库时遇到了这个用于格式化异常的函数:
private static string FormatException(Exception ex)
{
var errorMessage = new StringBuilder();
errorMessage.AppendLine($"ErrorMessage : {ex.Message}");
if (ex.Data.Count > 0)
{
var additionalMessage = new StringBuilder();
foreach (var key in ex.Data.Keys)
{
additionalMessage.Append($" {key} : {ex.Data[key]}");
}
errorMessage.AppendLine($"AdditionalMessage : 【 {additionalMessage} 】");
}
if (!string.IsNullOrWhiteSpace(ex.StackTrace))
{
errorMessage.AppendLine($"StackTrace : {ex.StackTrace}");
}
if (ex.InnerException != null)
{
errorMessage.AppendLine($"InnerException : {ex.InnerException.ToJson(false, true)}");
}
return errorMessage.ToString();
}
乍一看,在我看来,内置ToString()
方法并没有提供任何真正的价值,因为信息只是要运行写入日志文件。
我是否在ToString()
方法中遗漏了一些微妙的东西,需要确保Exception's
完全收集信息。
解决方案
推荐阅读
- python - 如何修复数据框以使其具有多行?
- sql - F# - 为什么 FSharp.Data.SqlClient 不支持视图?
- entity-framework - Linq 连接和三元查询
- c# - 关于与字典交互的方式的问题
- java - 仅将一列作为外键存储在另一个实体中
- kubernetes - 在 NetworkPolicy yaml 规范中混淆 Kubernetes 语义
- tensorflow - Tensorflow Graph - 检查节点是否依赖占位符
- mongodb - 升级 Mongo DB - 不支持的 WiredTiger 文件版本
- python - 如何从列表中删除两次包含相同数字的组合,其中重复包含相同的数字?
- html - 不使用 css 创建复杂的表结构