如何在 Qt 中捕获“索引超出范围”异常?我使用了 try/catch,但看起来它不起作用。
try {
QStringList list;
QString str = list[1];
} catch (...) {
qDebug()<<"error";
}
在 Windows XP 中,我可以看到以下对话框弹出:
---------------------------
K.exe - Application Error
---------------------------
The instruction at "0x0040144c" referenced memory at "0x00040012". The memory could not be "written".
Click on OK to terminate the program
Click on CANCEL to debug the program
---------------------------
OK Cancel
---------------------------
这就是为什么我需要这样做。我们的一些经验不足的工程师需要使用一小部分 Qt C++ 语言来完成一些自动化测试工作。我们不能强迫他们将 QList 用作经验丰富的设计师。所以我会尝试捕捉并记录错误,这样他们的自动化测试脚本就不会崩溃并且很容易找出错误点。——昨日中柱