Appearance
- 在可能产生异常处用
throw关键字抛出异常 - 在
try的作用域中,遇到异常,将执行跳到catch部分执行 - 抛出的异常没有类型限制,
catch需要对应类型 try中可抛出多种类型异常,搭配多个catch语块
cpp
double my_div(int m, int n) {
if (n == 0) {
throw -1;
} else {
return (double)m / n;
}
}
int main() {
try {
cout << my_div(520, 1314) << endl;
cout << my_div(520, 0) << endl;
cout << "不会执行" << endl;
} catch (int e) {
if (e == -1) {
cout << "除数不能为0" << endl;
}
} catch (const char* e) {
// ...
}
cout << "可正常执行" << endl;
}