2013-07-03 31 views
5

Tôi lúng túng tìm ra lý do tại sao một truy vấn không đúng định dạng của tài khoản gmail trong triển vọng bị treo ứng dụng của tôi thay vì chỉ đơn giản là đưa ra một ngoại lệ. Dường như có một ngoại lệ win32 vô hình dựa trên việc gọi mã từ C++ không được quản lý. Lỗi này biến mất khi tôi thay đổi vị trí hồ sơ Outlook. Tôi vẫn không hiểu tại sao mã .NET của tôi không thể bắt được ngoại lệ vì tôi đã lồng nhau> 20 ngoại lệ để cố gắng nắm bắt vấn đề.Bộ điều hợp dữ liệu đổ đầy tai nạn

Tôi cũng không thể trực tiếp gỡ lỗi mã trong .NET vì tôi không thể đặt thuộc tính STAA và trình biên dịch Visual Studio 2010 Professional không cho phép tôi gỡ lỗi mã C++/CLI. http://winterdom.com/2007/02/jetmapiandsta

Lỗi truy vấn là đơn giản với # mất tích vào một ngày SELECT * FROM inbox WHERE Body Like '%BWIC%' And rECEIVED>=#07/26/2012

Tôi đã thử thêm nhiều ngoại lệ đối với báo cáo kết quả đánh bắt, nhưng không thể ngăn chặn sự sụp đổ.

System::Data::DataSet ^db_DataSet=gcnew System::Data::DataSet; 
int const Fill_Result=db_Adapter.Fill(db_DataSet); 
} 
catch (System::Exception ^ex) { 
    ex; 
} 
catch (...) { 
    ; 
} 
finally { 
    if (db_Conn) 
     db_Conn.close(); 
} 
+0

Tôi cũng đang đối mặt với cùng một vấn đề hôm nay, bạn có nhận được bất kỳ giải pháp nào cho vấn đề này không. – MansoorShaikh

+0

Bạn có thể tạo SSCCE mà ai đó có thể chạy trên máy tính của riêng mình không? – sashoalm

+0

Ngoại lệ nào của Win32? Điều này có vẻ là một ngoại lệ bên ngoài. Bạn đang sử dụng COM? – Andro

Trả lời

1

Hãy xem This chủ đề. Nó có thể hữu ích.

Theo đó bạn có thể bắt ngoại lệ trong môi trường tự nhiên và ném ngoại lệ vào thế giới được quản lý.

#include <exception> 


try 
{ 
    try 
    { 
     Application::Run(gcnew frmMain()); 
    } 
    catch(const exception& ex) 
    { 
     throw gcnew System::Exception(gcnew System::String(ex.what())); 
    } 
} 
catch (Exception^ ex) 
{ 
    LogAndExit(ex); 
} 
catch (...) 
{ 
    LogAndExit(); 
} 
Các vấn đề liên quan