簡(jiǎn)要介紹WPF代碼解析異常
WPF在實(shí)際使用中,需要運(yùn)用XAML進(jìn)行編程。一般情況下都會(huì)出現(xiàn)一些異常狀況的發(fā)生。在這里我們就為大家介紹一下WPF代碼解析異常的相關(guān)概念。#t#
由于WPF應(yīng)用程序中XAML代碼在很多時(shí)候是運(yùn)行時(shí)加載處理的。比如DynamicResource,但是在編譯或者運(yùn)行的過(guò)程中,編寫(xiě)的XAML代碼很可能有錯(cuò)誤,此時(shí)XAML代碼解析器通常會(huì)拋出稱(chēng)為XamlParseException的異常。但是拋出的XamlParseException異常提供的信息非常簡(jiǎn)單,或者是很不準(zhǔn)確。此時(shí)我們關(guān)于通過(guò)對(duì)變通的方法來(lái)獲取更多的WPF代碼解析異常信息:
我們知道,WPF應(yīng)用程序中的XAML代碼是在InitializeComponent方法中解析的。而這個(gè)方法通常位于窗口對(duì)象的構(gòu)造函數(shù)之中。因此,我們利用.NET的異常機(jī)制來(lái)調(diào)用方法InitializeComponent:
- public partial class Window1
: System.Windows.Window - {
- public Window1()
- {
- try
- {
- InitializeComponent();
- }
- catch ( Exception ex )
- {
- // 異常處理(InnerExceptions)
- }
- }
- }
如此調(diào)用InitializeComponent能幫助我們?cè)谡{(diào)試時(shí)獲得更準(zhǔn)確的異常信息。
除了上面的WPF代碼解析異常捕捉機(jī)制,另一種方案是利用Visual Studio的異常對(duì)話框。在菜單調(diào)試(Debug)下的異常(Exception...)對(duì)話框中,通過(guò)右下的添加按鈕把System.Markup.XamlParseException加入到異常捕捉列表中。并選中Thrown復(fù)選框。如此也能獲取更多的關(guān)于XamlParseException的信息。