第8章异常处理和诊断 内容摘要: 1.处理C艹+异常 2.MFC异常类捕获程序异常 3.MFC提供的用于诊断程序的宏调式程序
第8章 异常处理和诊断 内容摘要: 1. 处理C++异常 2. MFC异常类捕获程序异常 3. MFC提供的用于诊断程序的宏调式程序 返回目录
8.1 8.1处理C++异 学习目标 使用try、 catch、 throw三个关 字来实现异常处理
8.1 处理C++异 学习目标 使用try、catch、throw三个关 字来实现异常处理 。 8.1 返回第8章
8.1 1.try块:标志可能会出现异常的代码 2. catch块:紧跟着ty块,里面包含了处理异常 的代码。 3. throw块:抛出一个异常,激活 catch块中相 应的异常处理代码
1. try块:标志可能会出现异常的代码。 2. catch块:紧跟着try块,里面包含了处理异常 的代码。 3. throw块 :抛出一个异常,激活catch块中相 应的异常处理代码。 8.1
include <iostream. h> 8.1 ass CExcept ublic CEXcept(int EXCode) m XCOde xcode nt GetCodeo return m Exco ate int m XCOde: oid maino
例题 #include <iostream.h> class CExcept { public: CExcept(int ExCode) { m_ExCode = ExCode; } int GetCode() { return m_ExCode; } private: int m_ExCode; }; void main() { 8.1
解释 8.1 如果异常在关键字try后面的代码块中扔出,则控制立即传出这个块,如果try 块后面有适当的 catch块,则控制传入 catch块处理异常。 catch块前面有关键字 catch和括号中的声明。如果这个声明中指定的类型符合 产生异常的 throw语句给出的数值类型,则控制传入关键字 catch后面的块。如 果类型不符,则程序寻找另一个 catch块。 catch块中的代码执行完毕后,控制 传入块后面的第一个语句 在上面的程序中,如果在try中扔出的是字符串,则进入第一个 catch块;如果 在try中扔出的是整型数据,则进入第二个 catch块;如果在try中扔出的是 CExcept类型,则进入第三个 catch块;如果在ty中扔出的是其他类型的数据, 则进入最后一个 catch块。 最后一个 catch块的声明是一个省略号(…),而不是具体数据类型,表示该 catch块可以接收前面ty块扔出的任何异常,但由于没有参数,不能访问扔出 异常提供的值。如果有多个 catch,则省略号 catch块应该放在最后
解释 8.1 如果异常在关键字try后面的代码块中扔出,则控制立即传出这个块,如果try 块后面有适当的catch块,则控制传入catch块处理异常。 catch块前面有关键字catch和括号中的声明。如果这个声明中指定的类型符合 产生异常的throw语句给出的数值类型,则控制传入关键字catch后面的块。如 果类型不符,则程序寻找另一个catch块。catch块中的代码执行完毕后,控制 传入块后面的第一个语句。 在上面的程序中,如果在try中扔出的是字符串,则进入第一个catch块;如果 在try中扔出的是整型数据,则进入第二个catch块;如果在try中扔出的是 CExcept类型,则进入第三个catch块;如果在try中扔出的是其他类型的数据, 则进入最后一个catch块。 最后一个catch块的声明是一个省略号(…),而不是具体数据类型,表示该 catch块可以接收前面try块扔出的任何异常,但由于没有参数,不能访问扔出 异常提供的值。如果有多个catch块,则省略号catch块应该放在最后