zoukankan      html  css  js  c++  java
  • C++ 异常处理

    1、异常处理分为两个部分:抛出异常和捕获异常。

    2、抛出异常,类似于方法返回值,离开了作用域,局部对象销毁,因此需要有一个临时对象保存结果。C++特别强调,抛出一个异常,必定要一个临时对象接收,存在copy构造,这是不可避免的,因为抛出的异常已经离开了作用域,失去了控制权。

    3、捕获异常,类似于调用方法,将临时对象传递给catch中的局部对象,为了避免再次copy构造,catch语句应该使用引用。特别注意,内置类型的临时对象是不可修改的,也就是说,内置类型的临时对象不能赋值给non-const引用,但是异常对象是可以的,catch语句可以是non-const引用。

    4、捕获异常与调用方法的区别:

      a、捕获异常是最先匹配,调用方法是最有匹配。

      b、调用方法存在隐式类型转换,即int可以传递给被调方法中的double形参,捕获异常是不会发生的。二者相同的是,满足里氏代换的情况,可以匹配成功。

  • 相关阅读:
    网页打开微信链接 无法返回
    wap尝试调取app(网易新闻为例)
    兼容性
    图片旋转效果
    a标签发送邮件
    windows 下的bash 环境安装npm
    css 设置滚动条的样式
    前端h5遇到的问题及解决办法
    safari input默认样式
    delphi 新版内存表 FDMemTable
  • 原文地址:https://www.cnblogs.com/nzbbody/p/3473712.html
Copyright © 2011-2022 走看看