一、基本概念
异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。单行的异常包括失去数据库以及遇到意外输入等。
当程序检测出异常,应发出某种信号,且信号发出方无须知道异常如何处理。
(1)hrow表达式
程序的异常检测部分使用throw表达式引发一个异常
eg: throw runtime_error("error1"); // runtime_error是异常类型
(2)try语句块
异常处理部分使用try语句块处理异常,try语句块以try开始,并以一个或多个catch子句处理,因为catch子句 处理 异常,所以他们也被称为异常处理代码。
try{
program statements
}
catch(exception-declaration){
handle statment
}
eg:
try{
throw runtime_error("error1");
}
catch( runtime_error err)
{
处理异常;
}
二、常见的异常类型
exceptionThe 最常见的问题。
runtime_error 运行时错误:仅在运行时才能检测到问题
range_error 运行时错误:生成的结果超出了有意义的值域范围
overflow_error 运行时错误:计算上溢
underflow_error 运行时错误:计算下溢
logic_error 逻辑错误:可在运行前检测到问题
domain_error 逻辑错误:参数的结果值不存在
invalid_argument逻辑错误:不合适的参数
length_error 逻辑错误:试图生成一个超出该类型最大长度的对象
out_of_rang 逻辑错误:使用一个超出有效范围的值