qt try catch 用法 示例
时间: 2023-07-17 10:06:39 浏览: 165
以下是一个简单的示例,演示了在 Qt 中如何使用 try-catch 块来处理异常:
```cpp
#include <QCoreApplication>
#include <QDebug>
void divideNumbers(int a, int b) {
try {
if (b == 0) {
throw QString("除数不能为0");
} else {
int result = a / b;
qDebug() << "结果:" << result;
}
} catch (const QString &errorMsg) {
qWarning() << "捕获到异常:" << errorMsg;
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int num1 = 10;
int num2 = 0;
divideNumbers(num1, num2);
return a.exec();
}
```
在上面的示例中,我们定义了一个函数 `divideNumbers`,它接受两个整数参数 `a` 和 `b`。在 try 块中,我们首先检查除数 `b` 是否为0,如果是,则使用 `throw` 语句抛出一个异常,传递一个字符串作为异常消息。如果除数不为0,则计算并输出结果。
在 catch 块中,我们使用 `const QString&` 引用捕获异常对象,并将其打印为警告消息。
在 `main` 函数中,我们调用 `divideNumbers` 函数并传入一个除数为0的情况,这将导致异常被抛出并在 catch 块中被捕获。结果将打印为警告消息。
请注意,这只是一个简单的示例,用于演示 try-catch 的基本用法。在实际应用中,你可以根据需要自定义异常类型,并在 catch 块中执行更复杂的错误处理逻辑。