QT用C++防止在报错的时候崩溃
在QT中,可以通过设置异常处理程序来防止在报错时程序崩溃。以下是一些示例代码:
- 使用QCoreApplication::setUnhandledExceptionFilter()设置异常处理程序:
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
int exceptionFilter(void* context)
{
qDebug() << "Exception caught!";
return 1;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 设置异常处理程序
QCoreApplication::setUnhandledExceptionFilter(exceptionFilter);
// 抛出异常
throw "Exception";
return a.exec();
}
- 使用try-catch语句捕获异常:
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
try {
// 抛出异常
throw "Exception";
} catch (...) {
qDebug() << "Exception caught!";
}
return a.exec();
}
无论哪种方法,当程序抛出异常时,都会执行异常处理程序或try-catch语句中的代码,而不会导致程序崩溃
原文地址: https://www.cveoy.top/t/topic/cns0 著作权归作者所有。请勿转载和采集!