public LuaException(string msg, Exception e = null, int skip = 1)
: base(msg)
{
if (e != null)
{
if (e is LuaException)
{
_stack = e.StackTrace;
}
else
{
StackTrace trace = new StackTrace(e, true);
StringBuilder sb = new StringBuilder();
ExtractFormattedStackTrace(trace, sb);
StackTrace self = new StackTrace(skip, true);
ExtractFormattedStackTrace(self, sb, trace);
_stack = sb.ToString();
}
}
else
{
StackTrace self = new StackTrace(skip, true);
StringBuilder sb = new StringBuilder();
ExtractFormattedStackTrace(self, sb);
_stack = sb.ToString();
}
}