wasSharpNET

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 19  →  ?path2? @ 20
/Diagnostics/ExceptionExtensions.cs
@@ -15,32 +15,31 @@
{
public static class ExceptionExtensions
{
public static string PrettyPrint(this Exception x)
public static string PrettyPrint(this Exception ex)
{
var st = new StackTrace(x, true);
if(ex == null)
return string.Empty;
 
var st = new StackTrace(ex, true);
var frames = st.GetFrames();
if (frames == null)
return string.Empty;
 
StringBuilder sb = new StringBuilder();
sb.Append(Enumerable.Repeat('-', 75).ToArray());
var sb = new StringBuilder();
sb.Append(Environment.NewLine);
 
int indent = 0;
foreach (var frame in frames)
{
if (frame.GetFileLineNumber() < 1)
var fileName = frame?.GetFileName();
if (string.IsNullOrEmpty(fileName))
continue;
 
sb.Append(Enumerable.Repeat(' ', indent).ToArray());
sb.Append(@" -> ");
sb.Append(Enumerable
.Repeat('-', System.Console.WindowWidth)
.Concat(Environment.NewLine)
.ToArray());
sb.Append("File: ");
sb.Append(string.Join(
Path.DirectorySeparatorChar.ToString(),
frame.GetFileName()
.Split(Path.DirectorySeparatorChar)
.Reverse()
.Take(2)
.Reverse()
)
);
sb.Append(fileName);
sb.Append(@" Method: ");
sb.Append(frame.GetMethod().Name);
sb.Append(@" Line and Column : ");
@@ -48,13 +47,18 @@
sb.Append(@":");
sb.Append(frame.GetFileColumnNumber());
sb.Append(Environment.NewLine);
 
indent += 1;
}
 
sb.Append(Enumerable.Repeat('-', 75).ToArray());
sb.Append(x);
sb.Append(Enumerable.Repeat('-', 75).ToArray());
sb.Append(Enumerable
.Repeat('-', System.Console.WindowWidth)
.Concat(Environment.NewLine)
.ToArray());
sb.Append(ex);
sb.Append(Environment.NewLine);
sb.Append(Enumerable
.Repeat('-', System.Console.WindowWidth)
.Concat(Environment.NewLine)
.ToArray());
 
return sb.ToString();
}