Sample Code:
class="csharpcode"> try { string re = "1.1".Substring(1,4); } catch (Exception ex) { logger.ErrorFormat("Exception:\n{0}\n BaseException:\n{1} \n GetType:\n{2} \nMessage:\n{3}\n StackTrace:\n{4}", ex, ex.GetBaseException(), ex.GetType(), ex.Message, ex.StackTrace); }
Output:
DayListExtractor.Form1 - Exception: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) 在 System.String.Substring(Int32 startIndex, Int32 length) 在 DayListExtractor.Form1.Form1_Load(Object sender, EventArgs e) 位置 G:\test\DayListExtractor\Form1.cs:行号 63 BaseException: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) 在 System.String.Substring(Int32 startIndex, Int32 length) 在 DayListExtractor.Form1.Form1_Load(Object sender, EventArgs e) 位置 G:\test\DayListExtractor\Form1.cs:行号 63 GetType: System.ArgumentOutOfRangeException Message: 索引和长度必须引用该字符串内的位置。 参数名: length StackTrace: 在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) 在 System.String.Substring(Int32 startIndex, Int32 length) 在 DayListExtractor.Form1.Form1_Load(Object sender, EventArgs e) 位置 G:\test\DayListExtractor\Form1.cs:行号 63
总结:
在需要看情况信息时,打印Exepection ex 实例即可