C++异常处理

1) C++中的异常情况

语法错误(编译错误):比如变量未定义、括号不匹配、关键字拼写错误等等编译器在编译时能发现的错误,这类错误可以及时被编译器发现,而且可以及时知道出错的位置及原因,方便改正。

运行时错误:比如数组下标越界、系统内存不足等等。这类错误不易被程序员发现,它能通过编译且能进入运行,但运行时会出错,导致程序崩溃。为了有效处理程序运行时错误,C++中引入异常处理机制来解决此问题。

2) C++异常处理机制

异常处理基本思想:执行一个函数的过程中发现异常,可以不用在本函数内立即进行处理,而是抛出该异常,让函数的调用者直接或间接处理这个问题。

C++异常处理机制由3个模块组成:try(检查)、throw(抛出)、catch(捕获) 抛出异常的语句格式为:throw 表达式;如果try块中程序段发现了异常则抛出异常。

try{
  //可能抛出异常的语句;(检查)
}
catch(类型名[形参名])//捕获特定类型的异常
{
  //处理1;
}
catch(类型名[形参名])//捕获特定类型的异常
{
  //处理2;
}
catch(…)//捕获所有类型的异常
{
  //...
}
throw Exception{
  //抛出异常
}

  

  

posted @ 2021-09-01 16:18  默行于世  阅读(37)  评论(0编辑  收藏  举报