Fork me on GitHub

异常

异常是C++用来处理程序出错的一种方式

异常之前

在C语言里没有异常这个概念,那么程序出错了怎么办呢?

  • 终止程序 这是我们在练习时最常用到的处理方法,但是也是最不实用的方式:太粗暴了,如果是一个大型的服务程序,那可不是说停就停的!直接终止会引发很多严重的后果。
  • 返回错误码 这是一种稍微好些的处理办法,但是缺点就是太麻烦,程序员要对着错误码去找哪里出了错。用户就完全看不懂了。很多系统库的接口函数都是讲错误码放进了errno里方便查找。但是对于我们普通开发人员来说还是过于麻烦。

异常

到了C++新时代,我们可以用抛异常的方式来解决程序出错的问题,所谓”抛”,就是C++关键字throw,用来抛出一个程序无法解决的异常信息。
那既然有了抛,自然地,也得有人接到这个异常,不然只抛异常不处理也不是我们程序员们希望看到的,这里我们就要用到C++关键字catch,用来接收一个异常信息并在接下来的语句中对之进行处理。
try: try块中的代码标识将被激活的特定异常,它后面通常跟着一个或多个catch块。
如果有一个块抛出一个异常,捕获异常的方法会使用try和catch关键字。try块中放置可能抛出异常的代码,try块中的代码被称为保护代码。使用try/catch语句的语法如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
try{
//保护的标识代码
}
catch(ExceptionNamee1){
// catch块
}
catch(ExceptionNamee2){
// catch块
}
catch(ExceptionNameeN){
// catch块
}

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!