public virtual Template GetMessageTemplate(bool verbose)
{
Template messageST = new Template(GetErrorType().msg);
messageST.impl.Name = errorType.Name;
messageST.Add("verbose", verbose);
object[] args = GetArgs();
for (int i = 0; i < args.Length; i++)
{
string attr = "arg";
if (i > 0)
attr += i + 1;
messageST.Add(attr, args[i]);
}
if (args.Length < 2)
messageST.Add("arg2", null); // some messages ref arg2
Exception cause = GetCause();
if (cause != null)
{
messageST.Add("exception", cause);
messageST.Add("stackTrace", cause.StackTrace);
}
else
{
messageST.Add("exception", null); // avoid ST error msg
messageST.Add("stackTrace", null);
}
return messageST;
}