我有這樣的代碼:C#:異常處理 - 查找錯誤
private void btnNext_Click(object sender, RoutedEventArgs e){
try
{
// Lots of codes in here
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace.ToString())
}
finally
{}
}
它捕獲異常,但沒有告訴我哪裏有異常的代碼裏面出現。我唯一得到的是這個。
Object reference not set to an instance of an object
at ProjectPath.btnNext_Click(Object sender, RoutedEventArgs e)
發佈代碼在很多機器上都能正常工作,但是在很少的機器上,它會拋出這個異常。我只是不知道在這些機器上運行時發生異常的代碼的位置。有沒有辦法找到發生異常的確切行? ex.StackTrace
沒有完成工作。
任何幫助將不勝感激。
不要捕獲它並在調試器中運行它。它將停止拋出異常的位置。 (或者更好,告訴你的調試器停止捕獲和未捕獲的異常) –
你可以在調試器下運行它嗎?如果可以的話,只需打開讓調試器中斷引發異常的選項即可。 (菜單:調試|例外 - >打開「引發」爲'公共語言運行時例外') –
以較小的原子塊重構代碼 – Dhawalk