了解下C#異常時的輸出


Sample Code:

            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 實例即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM