VCtrycatchthrow用法详解.docxVIP

  • 5
  • 0
  • 约2.24千字
  • 约 4页
  • 2017-06-10 发布于四川
  • 举报
VCtrycatchthrow用法详解

异常控制try,catch用法小结 出处:ChinaU1、基础介绍try{//程序中抛出异常throw value;}catch(valuetype v){//例外处理程序段}语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。2、深入throw:(i)、程序接受到throw语句后就会自动调用析构器,把该域(try后的括号内)对象clean up,然后再进入catch语句(如果在循环体中就退出循环)。这种机制会引起一些致命的错误,比如,当“类”有指针成员变量时(又是指针!),在 “类的构建器”中的throw语句引起的退出,会导致这个指针所指向的对象没有被析构。这里很基础,就不深入了,提示一下,把指针改为类就行了,比如模板类来代替指针,在模板类的内部设置一个析构函数。(ii)、语句“throw;”抛出一个无法被捕获的异常,即使是catch(...)也不能捕捉到,这时进入终止函数,见下catch。3、深入catch:一般的catch出现的形式是:try{}catch(except1){}catch(except2){}catch(...){} //接受所有异常一般都写成引用(except1),原因很简单,效率。问题a:抛出异常,但是catch不到异常怎么办?(注意没有java类似的finally语句)在catch没有捕获到匹配的异常的时候,会调用

文档评论(0)

1亿VIP精品文档

相关文档