标题:QT 怎么捕获异常?
作者:dafei2015
日期:2020-09-17 11:58
内容:
代码如下:
void MainWindow::on_pushButtonReadTest_clicked()
{
QString file_path = QFileDialog::getOpenFileName(this,QStringLiteral("请选择要导入的Excel") ,"D:/","Excel(*.xls *.xlsx)");
if (file_path.isEmpty()) {return;}
ExcelEngine excel(file_path);
QT_TRY {excel.Open();}
QT_CATCH (std::exception &e)
{
qDebug()
#1 [青空飞羽 09-17 13:26]
有可能你捕获的异常类型和实际的异常类型不符 ,QT_CATCH (...) 捕获所有异常
#2 回 青空飞羽 的帖子 [dafei2015 09-17 13:40]
青空飞羽:有可能你捕获的异常类型和实际的异常类型不符 ,QT_CATCH (...) 捕获所有异常(2020-09-17 13:26)
那怎么在catch(...) {}打印出异常呢
#3 回 dafei2015 的帖子 [青空飞羽 09-17 15:20]
dafei2015:那怎么在catch(...) {}打印出异常呢 (2020-09-17 13:40)
这种就打印不了,要想打印具体的异常信息,只能捕捉明确的异常类型
#4 [snow_man_0 09-17 16:58]
Qt没有自己的异常机制,请到C++论坛提问
#5 [圣域天子 09-21 17:42]
VC编译器?默认try...catch无效的。
另外oledb这套东西的异常记得本来就捕不到的,好象它不是用这种方式抛异常的
很久不做这个了,不大记得了。