mirror of
https://git.teknik.io/Teknikode/Teknik.git
synced 2023-08-02 14:16:22 +02:00
31 lines
933 B
C#
31 lines
933 B
C#
using System;
|
|
|
|
namespace Teknik.Utilities
|
|
{
|
|
public static class ExceptionExtensions
|
|
{
|
|
public static string GetFullMessage(this Exception ex)
|
|
{
|
|
return ex.GetFullMessage(false, false);
|
|
}
|
|
|
|
public static string GetFullMessage(this Exception ex, bool recursive)
|
|
{
|
|
return ex.GetFullMessage(recursive, false);
|
|
}
|
|
|
|
public static string GetFullMessage(this Exception ex, bool recursive, bool stackTrace)
|
|
{
|
|
string message = ex.Message;
|
|
if (recursive && ex.InnerException != null)
|
|
{
|
|
message += " | Inner Exception: " + ex.InnerException.GetFullMessage(recursive, stackTrace);
|
|
}
|
|
if (stackTrace && !string.IsNullOrEmpty(ex.StackTrace))
|
|
{
|
|
message += " | Stack Trace: " + ex.StackTrace;
|
|
}
|
|
return message;
|
|
}
|
|
}
|
|
} |