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)

相关推荐

  • 2021 10.26 模拟测试

    技术2021 10.26 模拟测试 2021 10.26 模拟测试\(\mathrm{T1}\)
    \(\mathrm{Solution}\)
    我们可以记录一个\(cnt[x]\)表示到第\(i\)个操作

    礼包 2021年10月27日
  • INNODB引擎的4大特性

    技术INNODB引擎的4大特性 INNODB引擎的4大特性1、插入缓存
    2、二次写
    3、自适应哈希
    4、预读
    一、插入缓存(insert buffer)
    插入缓冲(insert Buffer/Chang

    礼包 2021年11月26日
  • 空间向量,向量空间的标准向量空间怎么求

    技术空间向量,向量空间的标准向量空间怎么求空间中具有大小和方向的量叫做空间向量空间向量。向量的大小叫做向量的长度或模(moduius)。 规定,长度为0的向量叫做零向量,记为0. 模为1的向量称为单位向量。 与向量a长度

    生活 2021年10月22日
  • SQL如何实现约束

    技术SQL如何实现约束小编给大家分享一下SQL如何实现约束,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、五种类型 非空not nul

    攻略 2021年12月13日
  • GET和POST两种基本请求方法的区别有哪些

    技术GET和POST两种基本请求方法的区别有哪些本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两

    攻略 2021年10月27日
  • DIV+CSS网页内容显示不完整诊断是这样的

    技术DIV+CSS网页内容显示不完整诊断是这样的DIV+CSS网页内容显示不完整诊断是这样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。本文和大家重点

    攻略 2021年11月11日