C++中怎么使用try和catch捕获异常

技术C++中怎么使用try和catch捕获异常这篇文章主要介绍“C++中怎么使用try和catch捕获异常”,在日常操作中,相信很多人在C++中怎么使用try和catch捕获异常问题上存在疑惑,小编查阅了各式资料,整理出

本文主要介绍“如何在C语言中使用try和catch来捕获异常”。在日常操作中,相信很多人对于如何使用C中的try和catch捕捉异常都有疑惑,边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“如何使用C中的try和catch捕捉异常”的疑惑!接下来,请和边肖一起学习!

00-1010

异常处理

试捕是最重要的C关键词。要捕获语句可能引发的异常,可以将它们放在try块中,并使用catch块来处理try块可能引发的异常:

void some func(){ try { int * pnnumber=new int;* pnnumber=999;删除号码;} catch(……)//catch esallexceptions { cout ‘ exceptionnsomefunc(),退出’ endl}} catch(.)捕获所有未被其他catch块捕获的异常。自定义异常类应继承std::exception,这让你能够重用捕获std::exception异常的所有catch()块

00-1010为变量指定有意义的名称(无论是为你还是为他人)。花更多的时间给变量起一个好名字是值得的。确保初始化变量,如int和float。

请确保将指针初始化为空或——的有效地址,例如运算符new返回的地址。

使用数组时,不要跨越它们的边界。跨越数组边界称为缓冲区溢出,这会导致安全漏洞。

不要使用C风格的字符串(char* ‘),也不要使用strelen()和strcopy()等函数。Std:string更安全,并提供了许多有用的方法,如获取长度、复制和附加。

仅在确定要包含的元素数量时使用静态数组。在不确定的情况下,应该使用动态数组,如std:vector。

当声明和定义接受非POD类型作为输入的函数时,您应该考虑将参数声明为引用,以避免在调用函数时不必要的复制步骤。

如果类包含原始指针成员,那么在复制或赋值时考虑如何管理内存资源的所有权是很重要的,也就是考虑编写复制构造函数和赋值运算符。

在编写管理动态数组的实用类时,我们必须实现移动构造函数和移动赋值操作符来提高性能。

请确保正确使用const。理想情况下,get()函数不应该修改类成员,所以它应该声明为const函数。同样,除非您想要修改函数参数中包含的值,否则您应该将其声明为常量引用。

不要使用原始指针,而是尽可能使用合适的智能指针。

编写实用类时,一定要努力实现更容易使用的运算符。

如果可以选择,一定要使用模板而不是宏。模板不仅通用,而且类型安全。

编写类时,如果其对象将存储在vector和list等容器中,或者用作映射中的键,请确保实现运算符,该运算符将用作默认的排序标准。如果编写一个长的lambda表达式,应该考虑使用一个函数对象,也就是实现operator()的类,因为函数对象可以重用,只需要维护一个地方。

永远不要认为新操作员一定会成功。对于分配资源的代码,一定要处理它可能抛出的异常,也就是把它放在try块中,并编写相应的catch()块。

永远不要在析构函数中抛出异常。

至此,“C语言中如何使用try和catch捕捉异常”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以帮助你学得更好。去试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

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

(0)

相关推荐

  • http工具类 james

    技术http工具类 james http工具类 jamespackage com.shsnc.south.znpact.server.util;import com.shsnc.south.znpact

    礼包 2021年11月15日
  • java中抽象类和接口的区别(java接口和抽象类有什么不同)

    技术java中抽象类和接口的相同和不同点是什么这篇文章将为大家详细讲解有关java中抽象类和接口的相同和不同点是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言下面

    攻略 2021年12月20日
  • 怎样分析SpringMVC中的HandlerAdapter

    技术怎样分析SpringMVC中的HandlerAdapter这篇文章给大家介绍怎样分析SpringMVC中的HandlerAdapter,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Dispatc

    攻略 2021年12月2日
  • 加拿大与中国时差,加拿大时间和中国一样吗

    技术加拿大与中国时差,加拿大时间和中国一样吗加拿大按照时间划分为冬令时和夏令时。按照地区不同分六个时区加拿大与中国时差,当北京时间(东八区)为 24:00 时,加拿大时间分别为: 纽芬兰时区(西四区,如圣约翰斯)12:3

    生活 2021年10月27日
  • Fluentd如何实现系统配置

    技术Fluentd如何实现系统配置小编给大家分享一下Fluentd如何实现系统配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先,本文“系

    攻略 2021年11月20日
  • 狗狗身上螨虫图片,狗狗身上的螨虫长什么样

    技术狗狗身上螨虫图片,狗狗身上的螨虫长什么样直接上图狗狗身上螨虫图片!蜱虫属于体外寄生虫,通常寄生在动物体表,由于猫狗体表有毛发,所以前期很难发现!
    幼虫和虫卵事情,体积较小,很难通过肉眼发现,它们通过吸食血液为食,成长

    生活 2021年11月1日