qt try catch示例
时间: 2023-07-05 09:34:14 浏览: 171
qt example
3星 · 编辑精心推荐
好的,以下是一个 Qt 中的 try-catch 示例代码:
```cpp
try {
// 可能会抛出异常的代码
QString str = "Hello";
int num = str.toInt(); // str 不是一个有效的整数,会抛出异常
} catch (const std::exception &ex) { // 捕获 std::exception 及其子类的异常
// 异常处理代码
QMessageBox::warning(this, "发生异常", ex.what());
} catch (...) { // 捕获所有类型的异常
// 异常处理代码
QMessageBox::warning(this, "发生未知异常", "程序发生了未知异常,请联系开发人员!");
} finally {
// 无论是否发生异常,都会执行的代码
qDebug() << "执行了 finally 块";
}
qDebug() << "程序继续执行";
```
在上面的代码中,我们使用 try-catch 来捕获可能会抛出的异常。如果这个异常是 std::exception 及其子类的异常,我们就会在第一个 catch 块中处理它,并使用 QMessageBox 在界面上显示异常信息。如果这个异常不是 std::exception 及其子类的异常,我们就会在第二个 catch 块中处理它,并使用 QMessageBox 在界面上显示一个通用的错误信息。无论是否发生异常,finally 块中的代码都会被执行。
阅读全文