Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[Visual Studio] 爲什麽發生例外的時候,在偵錯模式下沒有自己進入中斷點

2019-12-28 Saturday
[Visual Studio]爲什麽發生例外的時候,在偵錯模式下沒有自己進入中斷點.jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

一般來説,當Visual Studio進入到了debug (偵錯) 模式的時候,只要有任何的exception (例外) 發生的話,就算沒有下任何的breakpoint (中斷點) ,Visual Studio也會自動停下來。

但是如果有天Visual Studio不在停下來的話怎麽辦?

這篇來看一下Visual Studio裡面一個很重要的設定:Exception Setting

重現一下問題是什麽?

來重現一下上面提到的問題,擧個例子來説,當用debug模式執行下面這段程式碼的時候,雖然沒有下任何breakpoint,但是Visual Studio還是會自動幫我們停下來:

devenv_2019-12-28_21-22-23.png
遇到Exception自動停下來了

但是如果今天Visual Studio沒有自動停下來呢?

什麽是Exception Setting

Visual Studio會在遇到Exception的時候自動停下來,完全是因爲Exception Setting這個Visual Studio設定在啟作用。

這個功能能夠設定那些Exception發生的時候需要停下來

可以善用右上角的搜索,來找到Exception Setting這個設定:

devenv_2019-12-28_21-32-55.png
開啓Exception Setting

這個時候就會看到下面有個Window出現:

devenv_2019-12-28_21-34-37.png
Exception Setting的Window

這個設定將能夠控制那些Exception發生的時候,需要停下來。

開啓ArgumentNullException也要停

以上面的範例來説,是ArgumentNullException沒有停,所以可以利用Filter的功能來把他開啓:

  1. 在搜索框輸入:ArgumentNullException
  2. 找到之後發現沒有打勾,打勾代表會停
devenv_2019-12-28_23-16-44.png
設定要停的Exception方式

關閉ArgumentNullException也要停

如果這個時候在嘗試,會發現會停了。

不過,假設從來沒有從Exception Setting關閉過的話,那麽到底可能因爲什麽而把他關掉了呢?

如果在執行一次,這個時候應該會停下來,這個時候可以注意到出現的pop up下面有Exception Settings:

devenv_2019-12-28_23-31-11.png
關掉自動停

把checkbox打勾,就代表這個Exception不要再出現 - 因此有時候有些Exception不想要一直停的話,就有可能不小心按到這個設定。

如何把設定改成預設值

有時候Exception Setting可能改了太多,導致在一些奇奇怪怪的Exception都會停。

假設這個時候想要把設定改成原本Visual Studio初始設定值,那麽可以透過Exception Settings裡面的Restore the list to defaults


重設為Visual Studio預設設定

結語

這篇看了一個很重要但是一般來説不太會開啓的Exception Settings的設定。

希望透過這篇,能夠知道當不需要停的時候如何在Visual Studio設定,然後如果需要停的時候如何在把他開啓回來。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
2019-12-28 Saturday
comments powered by Disqus