這是我的一個打開本地圖片功能代碼,在彈出的檔案選擇視窗選擇一張圖片,使用halcon的方法顯示到halcon控制元件上。能正常打開并顯示圖片但只要用戶一不小心點到滑鼠右鍵,軟體就會報錯,而且捕獲不到例外。
try
{
ofd_Picture.Filter = "(*.bmp;*.png;*.jpg;*.tif) |*.bmp;*.png;*.jpg;*.tif ";
if (ofd_Picture.ShowDialog() == DialogResult.OK)
{
//String path = ofd_Picture.FileName;
if (m_bTStartCollecting)
{
m_hTelecentreCamera.StopCollecting();
m_bTStartCollecting = false;
}
//pb_Horizontal.ImageLocation = path;
try
{
m_hOriginalHorizontalImg.Dispose();
}
catch (Exception)
{
}
m_hOriginalHorizontalImg.GenEmptyObj();
HOperatorSet.ReadImage(out m_hOriginalHorizontalImg, ofd_Picture.FileName);
DisplayPicture(m_hOriginalHorizontalImg, hwc_Horizontal.HalconWindow);
}
else
{
return;
}
}
catch (Exception ex)
{
MessageBox.Show("打開圖片失敗!;" + ex.Message);
}
Debug除錯運行的時候會在“if (ofd_Picture.ShowDialog() == DialogResult.OK)”這里拋出例外,而且try捕獲不到該例外。且直接彈出提示說觸發了一個斷點。如圖:

按下f11單步執行一次后未跳轉到catch處理例外而是直接報ntdll.dll的錯誤:
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/41561.html
標籤:C#
