本文主要介绍“如何在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