捕捉WPF應(yīng)用程序中XAML代碼解析異常_.Net教程
推薦:.NET:InTheHand提供的類操作SMS由于需要催手機里的短消息(SMS)進行操作,現(xiàn)成的API都不能方便的實現(xiàn),看到最好用的要數(shù)InTheHand這家第三方控件了,真的很方便,但是這個版本是商業(yè)版($49),發(fā)布的試用版不支持這個類的,
由于WPF應(yīng)用程序中XAML代碼在很多時候是運行時加載處理的。比如DynamicResource,但是在編譯或者運行的過程中,編寫的XAML代碼很可能有錯誤,此時XAML代碼解析器通常會拋出稱為XamlParseException的異常。但是拋出的XamlParseException異常提供的信息非常簡單,或者是很不準確。此時我們關(guān)于通過對變通的方法來獲取更多的異常信息:
我們知道,WPF應(yīng)用程序中的XAML代碼是在InitializeComponent方法中解析的。而這個方法通常位于窗口對象的構(gòu)造函數(shù)之中。因此,我們利用.NET的異常機制來調(diào)用方法InitializeComponent:
| 以下為引用的內(nèi)容: 1 public partial class Window1 : System.Windows.Window 2 { 3 public Window1() 4 { 5 try 6 { 7 InitializeComponent(); 8 } 9 catch ( Exception ex ) 10 { 11 // 異常處理(InnerExceptions) 12 } 13 } 14 } |
如此調(diào)用InitializeComponent能幫助我們在調(diào)試時獲得更準確的異常信息。

除了上面的異常捕捉機制,另一種方案是利用Visual Studio的異常對話框。在菜單調(diào)試(Debug)下的異常(Exception...)對話框中,通過右下的添加按鈕把System.Markup.XamlParseException加入到異常捕捉列表中。并選中Thrown復(fù)選框。如此也能獲取更多的關(guān)于XamlParseException的信息。
分享:專家詳解:復(fù)雜表達式的執(zhí)行步驟近日在CSDN上閑逛的時候,注意到一個帖子: ((*strDest =*strSrc )!='