C++异常的概念是什么

技术C++异常的概念是什么C++异常的概念是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。运用编程语言进行程序开发时,都需要进行异常的处理,才能使我

C异常的概念是什么?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。

当使用编程语言开发程序时,我们需要处理异常,以使我们的程序完美。在C语言中,也有关于异常处理的操作。在这里,我们将介绍几种常见的C异常的操作方法,希望能给大家带来一些帮助。

c后面跟关键字throw(某物)来限制这个函数的异常安全性。

Void f() throw()表示f不允许抛出任何异常,即f异常安全。

Void f() throw(.)意味着f可以抛出任何一种异常。

void f()throw(Exception TYPe);意味着f只能抛出异常类型为exceptionType的c异常。

介绍别人的一个笑话:

Throw()大概会说:“哦,不管你扔什么,都不准扔。"

投掷(.)他笑着和蔼地看着:“扔吧,扔吧,尽情地扔吧。"

扔(型)听到这里急了:“那不可能。你要扔,只能扔我的烟头。否则,如果你不小心扔掉了我祖传的金戒指,那将是一个巨大的损失。"

c异常传输有三种方法:

1.传值(by value)

在传递值的过程中,会产生临时对象的副本,无法解决多态问题,具体如下:myexception继承了exception,但无法正确调用,导致异常对象被切割。

classmyexcept : public except { public : virtual const char * what()throw();};const char * myexception : what(){ return ' myexception ';} CLaSS a { public : a(){ } void f()throw(){ throwmyexception();}};int main(){ Aa;尝试{ a . f();} catch(exception exc){ cout exc . what();}}运行结果:未知异常。

程序的执行是什么方法调用异常,而不是什么方法的myexception。

2.传指针(by pointer)

指针可以是多态的,但是临时对象的地址经常作为指针发送出去,导致挂指针的错误。如果在堆上分配内存空间,往往不知道什么时候删除对象,就会出现生存还是毁灭的错误。

结果显示:我的异常。

class myexcept : public except { public : virtual const char * what()const;};const char * myexcept : what()const { return ' myexcept ';} CLaSS a { public : a(){ } void f()throw(){ thrownew myexception();}};int main(){ Aa;尝试{ a . f();} catch(exception * pexc){ coutpexc-what();deletepexc} }3.传引用(by reference)

传递引用是* * *,可以克服前面两个问题。

程序结果显示:兆字节异常。

class myexcept : public except { public : virtual const char * what()const;};const char * myexcept : what()const { return ' myexcept ';} CLaSS a { public : a(){ } void f()throw(){ throwmyexception();}};int main(){ Aa;尝试{ a . f();} catch(exception exc){ cout exc . what();}}关于C异常概念的问题的答案就分享到这里了,希望。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52396.html

(0)

相关推荐

  • 读书感悟100字左右,三篇小学读书心得不超过100字

    技术读书感悟100字左右,三篇小学读书心得不超过100字1.敏而好学,不耻下问——孔子2.书到用时方恨少,事非经过不知难——陆游3.读书破万卷,下笔如有神——杜甫4.少壮不努力,老大徒伤悲——《汉乐府 长歌行》5.业精于

    生活 2021年10月26日
  • 将全站进行HTTPS化优势是什么

    技术将全站进行HTTPS化优势是什么本篇文章为大家展示了将全站进行HTTPS化优势是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在HTTPS项目的开展过程中明显感觉到目前国

    攻略 2021年11月12日
  • SQL Server与MySQL中排序规则与字符集是什么

    技术SQL Server与MySQL中排序规则与字符集是什么这篇文章主要讲解了“SQL Server与MySQL中排序规则与字符集是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来

    攻略 2021年12月3日
  • 如何理解ASP.NET1.1升级到ASP.NET2.0的心得

    技术如何理解ASP.NET1.1升级到ASP.NET2.0的心得如何理解ASP.NET1.1升级到ASP.NET2.0的心得,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年11月26日
  • docker容器网络配置

    技术docker容器网络配置 docker容器网络配置docker容器网络配置
    ip netns(网络名称空间)命令
    [root@Aimmi ~]# rpm -qa|grep iproute
    iprou

    礼包 2021年12月6日
  • Java项目的UML反向工程工具是什么

    技术Java项目的UML反向工程工具是什么这篇文章主要介绍“Java项目的UML反向工程工具是什么”,在日常操作中,相信很多人在Java项目的UML反向工程工具是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月2日