Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 捕获所有异常并合并它们的最佳实践_C#_.net_Exception_Exception Handling_Inner Exception - Fatal编程技术网

C# 捕获所有异常并合并它们的最佳实践

C# 捕获所有异常并合并它们的最佳实践,c#,.net,exception,exception-handling,inner-exception,C#,.net,Exception,Exception Handling,Inner Exception,我想合并所有例外情况。 这样做是一种好的做法吗 string consolidatingAllException = string.Empty; try { // some process(); } catch (Exception ex) { while (ex.InnerException != null)

我想合并所有例外情况。 这样做是一种好的做法吗

 string consolidatingAllException = string.Empty;
            try
            {
                // some process();
            }
            catch (Exception ex)
            {
                while (ex.InnerException != null)
                {
                    consolidatingAllException += (ex.InnerException.Message);
                }
            }

如果出于历史原因,您计划将所有异常记录在一起,或者以后查看它们,我建议使用
只需在catch中跟踪异常并使用trace.TraceInformation()记录它们,并最终将它们刷新到日志文件中

这甚至不是您的问题,但您需要在(ex!=null){exceptionString+=ex.Message;ex=ex.InnerException;}时执行
;如果至少有一个内部异常,那么您发布的代码就是一个无限循环。为什么不创建一个
列表
?您的要求是什么?你看过那座街区了吗?