从函数返回C ++失败

时间:2014-03-25 12:50:31

标签: c++ qt smtp

我遇到了问题,我不知道为什么会这样。 我的 Qt 项目包含课程AllExceptions。它有以下构造函数:

AllExceptions::AllExceptions(std::string errName){
    errorMessage = errName;
} //<<<---

我按以下方式调用构造函数:

throw AllExceptions(response);

其中response是表示 smtp 服务器答案的字符串。

问题:程序停留在构造对象上。我进行了修改,并发现它标记为<<<--- 请给我任何建议。

编辑:此时堆叠

AllExceptions::AllExceptions (this=0xaf47d0, errName={static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffffffca10 \"\\330;\\257\"}})    
Email::sendMessage (this=0xa2e950)  
NewMailWindow::sendMail (this=0x885bb0) 
NewMailWindow::qt_static_metacall (_o=0x885bb0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffcdb0) 
QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () 
QAbstractButton::clicked(bool) ()   
?? ()   
?? ()   
QAbstractButton::mouseReleaseEvent(QMouseEvent*) () 
QWidget::event(QEvent*) ()  
QApplicationPrivate::notify_helper(QObject*, QEvent*) ()    
QApplication::notify(QObject*, QEvent*) ()  
QCoreApplication::notifyInternal(QObject*, QEvent*) ()  
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () 
?? ()   
QApplication::x11ProcessEvent(_XEvent*) ()  
?? ()   
g_main_context_dispatch ()  
?? ()   
g_main_context_iteration () 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()   
?? ()   
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()  
QCoreApplication::exec() () 
main (argc=1, argv=0x7fffffffe478)

标题文件:

class AllExceptions{
public:
    AllExceptions(std::string errName);
    std::string getErrMess() {return errorMessage;}; 
        void displayError();
private:
    std::string errorMessage;
};

0 个答案:

没有答案