Advertisement

C++ 异常类型及多级 catch 处理

阅读量:

exceptionType标识了当前 catch 捕获什么类型的异常;variable则用于接收错误信息。 一旦程序抛出异常时,则会生成一份数据记录错误内容。程序员通过这些记录可以识别具体出现的问题以及如何进行后续处理。

异常既然是一份数据,则应该具有对应的数据类型。C++明确规定了异常类型的定义方式:除了基本类型外还可以是指针、数组以及字符串等聚合类型。在C++语言及其标准库中,默认情况下函数抛出的异常即属于 exception 类或其实现为exception 子类的形式。由此可见,在发生此类事件时系统会自动创建相应的 exception 对象。

exceptionType类型的变量与函数的参数形式极为相似,在程序运行出现异常时(即当错误发生),系统会将错误数据传递至variable这个变量中进行处理(即会被赋值)。值得注意的是,在这种情况下(即如果error类型与exceptionType不匹配),catch块不会接收并处理这份错误数据(即不会执行catch块中的代码)。换言之,在这种情况下(即当前错误未被捕获),catch块不会处理当前的错误(即不会执行相应的处理操作)。

在处理过程中,在没有返回任何值的情况下不返回任何值的函数catch被视为一个不返回任何值的函数。

catch 和真正的函数调用的区别:

复制代码
    	真正的函数调用,形参和实参

全部评论 (0)

还没有任何评论哟~