C++异常处理——基本思想

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
??欢迎各位→点赞 ??+ 收藏? + 留言???
每一发奋努力的背后,必有加倍的赏赐!

一起加油!

        软件运行时,用户的误操作或者环境条件发生变化时可能会使软件在运行过程中出现异常情况,如果用户未对异常情况进行处理,则可能会导致软件运行的非正常终止,给用户带来糟糕的应用体验。虽然我们可以添加代码对软件运行过程中的每一步进行判断,防止非正常的情况出现但这会使得程序设计变得十分复杂。异常处理功能提供了处理软件运行时出现的意外或异常情况的方法。

        在程序运行时,可能会遇到各种异常问题。例如,计算两数之商时除数为零,数组越界,内存空间不够,无法打开输入文件而不能读取数据,输入数据的类型有错等。如果程序没有对这些问题进行防范,导致程序出错,系统就只能终止程序的运行,甚至会出现死机等现象,影响用户的正常使用。因此,在设计程序时,应当分析程序运行时可能出现的各种意外情况,并分别指定相应的处理方法,增强系统的容错能力,这就是程序异常处理的作用。
        在小型程序中,异常处理方法比较简单,通过判别并显示出错信息就能解决。而在大型软件中,函数之间的耦合度非常低,函数之间的互相调用以及异常处理会让程序变得非常复杂和庞大因此,C++中采取的办法是逐级传送:函数可能会发现自己无法处理的错误,这时它可以抛出一个异常,希望调用者可以直接或间接处理这个错误。如果调用者也不能直接处理这个错误,可以继续传给上一级的调用者。相对于传统错误处理技术,异常处理把错误和处理分开,简化程序错误处理代码,为程序健壮性提供一个标准监测机制。程序员在编写程序时首先假设不会产生任何异常,将全部代码编写完成后,再利用 C++异常处理机制,添加用于处理异常情况的语句。
        简单地说,异常处理的基本思想是:让一个函数在发现了自己无法处理的错误时抛出一个异常,然后让它的(直接或间接)调用者能够处理这个问题。C++异常处理机制的本质是将错误检测代码和错误处理代码分离。