QT的try catch怎么使用
时间: 2024-03-26 17:30:31 浏览: 118
SQL Server 2005 中使用 Try Catch 处理异常
QT中的try-catch语句与C++中的用法相同,用于捕获和处理异常。其基本语法如下:
```
try {
// 可能会抛出异常的代码块
}
catch (ExceptionType1 e1) {
// 处理 ExceptionType1 类型的异常
}
catch (ExceptionType2 e2) {
// 处理 ExceptionType2 类型的异常
}
catch (...) {
// 处理其他类型的异常
}
```
其中,try语句块中包含可能会抛出异常的代码,catch语句块用于捕获和处理异常。catch语句块可以有多个,每个catch语句块处理一种类型的异常。如果try语句块中的代码抛出了一个异常,程序会跳转到第一个匹配的catch语句块中,执行相应的处理代码。如果没有匹配的catch语句块,程序会终止并输出异常信息。
下面是一个简单的例子,演示了如何使用try-catch语句:
```
#include <iostream>
using namespace std;
int main() {
int chineseScore, englishScore;
try {
cout << "请输入语文成绩:" << endl;
chineseScore = Convert.ToInt32(Console.ReadLine());
cout << "请输入英语成绩:" << endl;
englishScore = Convert.ToInt32(Console.ReadLine());
if (chineseScore < 0 || chineseScore > 100 || englishScore < 0 || englishScore > 100) {
throw "成绩输入错误!";
}
cout << "语文成绩:" << chineseScore << endl;
cout << "英语成绩:" << englishScore << endl;
}
catch (const char* msg) {
cerr << msg << endl;
}
return 0;
}
```
在这个例子中,我们使用了try-catch语句来处理用户输入的成绩。如果用户输入的成绩不在0到100的范围内,程序会抛出一个异常,并输出错误信息。如果输入的成绩正确,程序会输出语文和英语成绩。
阅读全文