none
NotSupportedException的問題 RRS feed

  • 問題

  • 我自己寫了WPF的CustomControl

    定了一個ImageSource的DependencyProperty

    這個控制項動作是正常,不過在程式初始化的時候

    在Outputg視窗會出現"第一個可能發生的例外狀況類型 'System.NotSupportedException' 發生於 PresentationCore.dll"

    但是在另一台電腦一樣是Win7+VS2010SP1+.NET3.5的環境卻不會出現

    雖然有出現不過程式還是可以正常運作

    但是心裡還是怕怕的,有方法可以解嗎?

    2012年4月9日 上午 06:19

所有回覆

  • 您好,

    請問是否有程式可以看一下嗎?

    感覺在初始化時,給的值,導致它無法成功轉換,才會出現那個錯誤!

    如給它字串的值。


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年4月9日 上午 08:47
  • 可能是圖形沒有內容所引起的, 您可以加入Style.Triggers看是否可以解決
    2012年4月10日 上午 03:44
  • 您好

    這個問題請檢查兩台不同機器,在使用這個 Control 時,在 XAML 中給的相關屬性直是不是都相同?

    就像亂馬客說的,給了無效的值,出現的就是 NotSupportedException 的錯誤!

    2012年5月7日 下午 03:08
  • Debugger 在程式進行中若發現 exception, 會先丟出一個 first-chance exception 訊息; 倘若這個 exception 被某個程序 handle 了, 那麼你只會看到 Output 視窗中的那個「第一個可能發生的例外狀況類型」訊息。但是如果這個 exception 沒有被任何程序 handle, 它會再丟出 second-chance exception, 這時可能就真的會中止整個應用程式的進行並進入偵錯。

    在你的情況中, 首先, debugger 只丟出 first-chance exception; 其次, 它遇到的是一個 NotSupportedException。這表示問題有可能是 .Net 內部的問題, 甚至可能是 CLR 或 Win32 的問題, 但是已經被攔截 (很顯然並不是被你攔截的)。一般而言, 如果你想對這種 exception 進行除錯, 你可以在除錯階段打開「例外狀況」視窗 (Ctrl-D, E), 把對應項目的「擲回」(Throw) 選項打勾, 如下圖:

    但是由於你遇到的是 NotSupportedException, 而且問題出在 PresentationCore.dll, 因此, 或許你並沒辦法查到什麼。

    我的建議是, 如果 Debugger 真的在你的程式中找到問題, 它就不會只發出 first-chance exception; 換句話說, 你根本可以忽略掉這個錯誤, 除非你測試到你的程式有什麼地方不正常。其次, 在不同機器、不同版本的 .Net Framework 上出現不一樣的結果 (尤其當你的程式不變的情況下) 是有可能的。因為 .Net 處理內部 exception 的方式可能不同、整體執行環境也可能不同。所以針對這部份應該可以不用擔心。


    2012年5月8日 上午 01:17