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)

相关推荐

  • 怎么运行docker容器

    技术怎么运行docker容器本篇内容介绍了“怎么运行docker容器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 首先

    攻略 2021年12月13日
  • Redis对于过期键的清除策略有哪些

    技术Redis对于过期键的清除策略有哪些本篇内容主要讲解“Redis对于过期键的清除策略有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis对于过期键的清除策略有哪

    攻略 2021年11月24日
  • 怎样使用Mfuzz进行时间序列表达模式聚类分析

    技术怎样使用Mfuzz进行时间序列表达模式聚类分析怎样使用Mfuzz进行时间序列表达模式聚类分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

    攻略 2021年11月10日
  • 查看mysql错误日志的方法是什么

    技术查看mysql错误日志的方法是什么本篇内容介绍了“查看mysql错误日志的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年12月2日
  • utf8转ansi编码在线转换(ansi转utf8在线)

    技术如何解决KEIL编译器的UTF-8和ANSI的转换问题这期内容当中小编将会给大家带来有关如何解决KEIL编译器的UTF-8和ANSI的转换问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有

    攻略 2021年12月23日
  • 85的因数有哪些,85和100的最大公因数是什么

    技术85的因数有哪些,85和100的最大公因数是什么85和100的最大公因数是585的因数有哪些。85=517。
    100=5x5x4。
    拓展资料最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个

    生活 2021年10月24日