《福建工程学院《第八章异常习题 - 答案》》由会员分享,可在线阅读,更多相关《福建工程学院《第八章异常习题 - 答案》(4页珍藏版)》请在金锄头文库上搜索。
1、第 8 章 异常处理习题 1第 8 章 异常处理习题一、填空题1、 C+程序将可能发生异常的程序块放在 (5) 中,紧跟其后可放置若干对应的 (2) ,在前面所说的块中或块所调用的函数中应该有对应的 (4) ,由它在不正常时抛出 (1) ,如与某一条 (7) 类型相匹配,则执行该语句。该语句执行完后,如未退出程序,则执行 (6) 。如没有匹配的语句,则交 C+标准库中的 (3) 处理。(1)异常(2)catch 子句(3)terminate()(4)throw 表达式(5)try 块(6)后面的一条语句(7)catch 子句2、 throw 表达式的行为有点像函数的 (2) ,而 catch
2、子句有点像函数的 (1) 。函数的调用和异常处理的主要区别在于:建立函数调用所需的信息在 (5) 时已经获得,而异常处理机制要求 (3) 时的支撑。对于函数,编译器知道在哪个调用点上函数被真正调用,而对异常处理,异常是 (4) 发生的。(1)定义(2)调用(3)运行(4)随机(5)编译3、 异常处理时与函数重载 (4) ,异常处理是由 (2) catch 子句处理,而不是由 (3)catch 子句处理,所以 catch 子句 (1) 是很重要的。(1)排列次序(2)最先匹配到的(3)最佳匹配的(4)解析不同4、 下列程序运行结果为(A ) 。#includeusing namespace st
3、d;class Spublic:S( )coutusing namespace std;void f();class Tpublic:T( )cout#include using namespace std;class Stringpublic:String(const char*);String();void ShowStr()coutsPtrendl;private:char *sPtr;String:String(const char *s)第 8 章 异常处理习题 4sPtr=new charstrlen(s)+1;if(sPtr=NULL)throw(Constructor abnormal);strcpy(sPtr,s);String:String()delete sPtr;int main()tryString str1(This is C+);catch(char* c)coutcendl;return 0;