throw 抛出异常,catch 捕获对应类型的异常
- catch语句可以重新抛出异常,此时用
throw;,后面不用加表达式 - 通过new产生的指针类型的异常,在catch处理过程捕获后,通常应使用合适的delete释放内存,否则可能造成内存泄漏。
- C++标准的异常类型:
exception
可以定义异常接口声明来说明函数可能会抛出什么类型异常或不会抛出异常,这个异常可交给函数的调用者处理。
异常接口用throw(类型表达式列表)形式定义
用noexcept or throw() 表示函数不引发任何异常
C++17之后不再允许用throw声明异常类型