异常捕获的基本构成方式
try // c++异常的处理方式 { // 包含可能抛出异常的语句 } catch(类型名[形参名]) // 捕获特定类型的异常 { // 处理异常的语句 条件是抛出的异常类型是与catch参数类型匹配 } // try捕获异常并不能保证程序就不会崩溃,通常还需要做一下两个操作 // 1、满足某个条件是显式抛出(throw)一个异常 // 2、使用catch匹配异常类型
异常捕获的基本引用
/* * @Author: Stylle * @Date: 2020-08-25 15:24:03 * @LastEditors: Stylle * @LastEditTime: 2020-08-25 16:59:14 * @FilePath: \learing-master\异常处理try和throw以及catch.cpp */ #include <iostream> // 本函数会使程序崩溃 void func(int &num) { int nNum = 10; int mNum = num; if (mNum == 0) throw "异常:除数等于0"; // 如果捕获到异常下面的代码将不会执行 if (mNum == 1) throw 1; int oNum = nNum / mNum; if (oNum == 0) { throw "errorCode = 2"; } std::cout << oNum; } int main(int argc, char *argv[]) { std::cout << "hello world" << std::endl; // func(0); //异常 // 异常处理操作步骤2 try { int num = 9999; func(num); // 接受异常 } catch (const char *error) { // 处理异常 std::cout << error; } catch (int errorNum) { //抛出异常接受到整型 std::cout << "异常数值:" << errorNum; } catch (...) { // 捕获所有异常:匹配性能最差,捕获性能最强 std::cout << "其他异常"; } return 0; }
try、catch使用方法跟switch有点相识,只不过try指向全局