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)

相关推荐

  • [Leetcode]25.从中序与后序遍历序列构造二叉树

    技术[Leetcode]25.从中序与后序遍历序列构造二叉树 [Leetcode]25.从中序与后序遍历序列构造二叉树题目:根据一棵树的中序遍历与后序遍历构造二叉树。
    注意:你可以假设树中没有重复的元素

    礼包 2021年11月14日
  • vue是什么手机软件

    技术vue是什么手机软件这篇文章主要讲解了“vue是什么手机软件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue是什么手机软件”吧! vu

    攻略 2021年10月26日
  • python 操作redis数据库

    技术python 操作redis数据库 python 操作redis数据库安装redis的python库
    pip install redis
    普通的redis链接操作
    import redis #

    礼包 2021年12月2日
  • java如何集成小米推送服务

    技术java如何集成小米推送服务这期内容当中小编将会给大家带来有关java如何集成小米推送服务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。集成小米推送服务这类推送一般官方文档都比较详

    攻略 2021年10月20日
  • python程序二叉树最大深度(怎样求二叉树的深度用python)

    技术如何找出python二叉树的最大深度这期内容当中小编将会给大家带来有关如何找出python二叉树的最大深度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,问题简述 给定一

    攻略 2021年12月13日
  • Java坑爹的功能有哪些

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

    攻略 2021年11月2日