ورود

View Full Version : سوال: exception thrown from an event handler



ciph3r
دوشنبه 24 شهریور 1393, 16:42 عصر
سلام دوستان
بنده کتابخانه پوکو رو اضافه کردم به کیوت
و در حال کانکت شدن FTP Client Session بودم که 1 حالت بولین به وجود میاد
حالت اول اینکه اگر یوزر و پسورد درست باشد اطلاع می دهد و اگر نادرست برنامه کرش می کند (Terminate Abort)

کد کتابخانه رو نگاه کردم دیدم بله درست گفته مثل کد زیر :



void FTPClientSession::login(const std::string& username, const std::string& password)
{
if (_isLoggedIn) logout();

int status = FTP_POSITIVE_COMPLETION * 100;
std::string response;
if (!_pControlSocket)
{
_pControlSocket = new DialogSocket(SocketAddress(_host, _port));
_pControlSocket->setReceiveTimeout(_timeout);
}

if (!_serverReady)
{
status = _pControlSocket->receiveStatusMessage(response);
if (!isPositiveCompletion(status))
throw FTPException("Cannot login to server", response, status);
_serverReady = true;
}


حالا من کاری به این موضوع ندارم و جایگاشم اینجا نیست فقط اگر کرش کرد خطای زیر رو نمایش میده در دیباگ

Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

حالا می خوام بدونم چطور میشه در برنامم تعریف کنم که Notify رو برای اکسپشین هندلر لحاظ کنه ؟
اینترنت زیاد گشتم و مثال های زده بودند هما هیچکدام من را به جواب درست نرساند
ممنون میشم بنده را راهنمایی کنید

omid_kma
سه شنبه 25 شهریور 1393, 11:57 صبح
باید یک کلاس از QApplication مشتق کنی داخل تابع Notify اون exeption ای که میده رو catch کنی