當前位置:
首頁 >
加了try-catch也能自动定位到异常代码[VS Tips]
發布時間:2025/7/25
46
豆豆
生活随笔
收集整理的這篇文章主要介紹了
加了try-catch也能自动定位到异常代码[VS Tips]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文來自Kevin Yang博客 作者:Kevin Yang
Visual Studio的調試功能非常強大。當異常發生的時候,能夠自動定位到異常發生的地方。但是如果你在代碼外層顯式的加上了Try-Catch異常捕獲的時候,默認情況下,Visual Studio會直接跳到異常處理代碼塊,而不是出現異常的代碼行。
namespace BreakOnException{class Program
{
static void Main(string[] args)
{
try
{
Program p = null;
Console.WriteLine(p.GetHashCode());
}
catch (System.Exception ex)
{
}
}
}}
上面的代碼會拋出經典的NullReferrenceException。但是當你在調試狀態下運行時,Visual Studio會將代碼停在catch這一行,而不是Console.WriteLine這一行。
如果代碼簡單那倒無所謂,但是假想我們的代碼是經過層層的函數調用,最外層卻加了這么個Try-Catch,那么異常函數調用內拋出了異常,我們也很難定位到異常出錯的代碼(StackTrace也只能定位哪一個函數調用出錯了)。
這個行為可以通過Debug菜單中的Exception….菜單進行設置。
打開此菜單,在CLR異常的Thrown列打上勾,那么以后遇到CLR的異常就不再是定位到用戶處理代碼了,而是直接停在拋出異常的代碼上。這樣可以大大方便我們調試程序的Bug。
轉載于:https://www.cnblogs.com/Top1/archive/2010/08/18/1802592.html
總結
以上是生活随笔為你收集整理的加了try-catch也能自动定位到异常代码[VS Tips]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Linux系统中进程调度分析
- 下一篇: HDOJ 1213 HDU 1213 H