本文将介绍如何在Qt中使用try...catch和调试dump文件来处理异常。
Qt版本5.12.6
一.使用try...catch
一段简单的捕获异常的代码,新建一个控制台工程,pro文件不用修改
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QT_TRY {
QT_THROW(QString("CSDN:Cao Shang Pa"));
}QT_CATCH(QString excption){
qDebug() << excption;
}QT_CATCH(...){
qDebug() << "Unknown Exception";
}
return a.exec();
}
输出:CSDN:Cao Shang Pa
QT_THROW那行如果改成:QT_THROW("CSDN:Cao Shang Pa");
输出:Unknown Exception
这是因为异常是强类型的,在catch异常的时候,一个特定类型的catch只能catch类型匹配的异常。
QT_TRY/QT_THROW