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)

相关推荐

  • 高血压如何预防,预防高血压需要注意哪些方面

    技术高血压如何预防,预防高血压需要注意哪些方面感谢“悟空小秘书”盛邀高血压如何预防! 高血压是我国排名第一的慢性疾病。由于高血压可造成心、脑、肾等靶器官不同程度的损害,严重者可导致脑出血、心肌梗死、肾衰竭等,故做好高血压

    生活 2021年10月23日
  • 新闻源采集方法详细教程

    技术新闻源采集方法详细教程 新闻源采集方法详细教程什么是新闻源
    新闻源是指符合搜索引擎种子新闻站的标准,网站的内容会第一时间被搜索引擎优先收录,且被网络媒体转载成为网络海量新闻的源头媒体。新闻源在网络领

    礼包 2021年11月13日
  • 题解 CF852D Exploration plan

    技术题解 CF852D Exploration plan 题解 CF852D Exploration plan【题意翻译】
    给定一个\(V\) 个点\(E\) 条边的带权无向图,在图上有\(N\) 个人

    礼包 2021年11月4日
  • leetcode二叉树的最大距离(leetcode合并两个二叉树)

    技术LeetCode如何找出两棵二叉搜索树中的所有元素这篇文章给大家分享的是有关LeetCode如何找出两棵二叉搜索树中的所有元素的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一,两棵

    攻略 2021年12月15日
  • MySQL5存储过程怎么用

    技术MySQL5存储过程怎么用这篇文章主要介绍了MySQL5存储过程怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、下载、安装,不用多说(偶喜欢非

    攻略 2021年11月2日
  • Java开发必须要学的软件有哪些

    技术Java开发必须要学的软件有哪些 Java开发必须要学的软件有哪些作为Java初学者,应该学会哪些Java软件开发工具呢这个问题就由千锋重庆Java的小编来为大家解答。
    1.JDK:
    jdk:Jav

    礼包 2021年12月7日