C++编程(C)

Ptr0 templateclass y autoptr operatorautoptry a throw

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: :public Network_err, public File_system_err {/*...*/}; Beijing University of Posts & Telecommunications Beijing young@buptnet.edu.cn 14.3 捕捉异常 void f() { try{ throw E(); } catch(H){ //何时运行到这里? } } [1] 如果H是和E相同的类型 [2] 如果H是E的无歧义的公用基类 [3] 如果H和E是指针类型,且[1]或[2] 对它们所引用的类型成立 [4] 如果H是引用类型,且[1]或[2]对 H所引用的类型成立 Beijing University of Posts & Telecommunications Beijing 此外,还可以给用于捕捉 异常的类型加上const, 限制我们不能修改捕捉到 的异常 从原则上说,异常在抛出 时被复制,异常处理器得 到的只是原始异常的一个 副本(甚至已经被复制多 次),因此,我们不能抛 出一个不允许复制的异常 young@buptnet.edu.cn 14.3.1 重新抛出 在捕捉到了一个异常之后,很多情况下,处 理器并不能完成对这个错误的全部处理,典 型的方式是:该处理器做完局部能够做的事 情,然后再一次抛出这个异常,这将使得错 误恢复动作分布在几个处理器里...
View Full Document

Ask a homework question - tutors are online