发表时间:2022-03-25来源:网络
在使用Qt的过程中,对于信号与槽,感觉定义返回值来判断程序出错好像没有用。我感觉信号与槽就是相当于中断处理程序似的,当信号发出的时候,会中断当前指向的程序,而转去执行槽函数,这样正文就无法执行了,相当于事件循环卡住了(主题偏了,不知道理解的对不对)。主要想如果在槽函数中有异常发生,是否可以有异常处理机制来对其进行处理呢?以此有了对C++的异常处理机制的学习!反正异常处理也算是C++中应该知道的部分。之后再看看Qt中有没有对槽函数异常处理的需要!!!
学习!分享!感谢!
异常是一种程序控制机制,与函数机制独立和互补。函数是一种以栈结构展开的上下函数衔接的程序控制系统。异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为捕获条件,从而以类型匹配在栈机制中跳跃回馈。
栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向/有目的的控制传动,从一开始,异常就是冲着改变程序控制结构,以适应面向对象程序更有效的工作这一主题,而不是为了进行错误处理。
**传统的错误处理机制,通过函数返回值来处理错误。**C++的异常处理机制使得异常的引发和异常的处理不必在同一个函数中,这样底层的函数可以着重解决具体问题,而不必过多的考虑异常的处理。上层调用者可以在适当的位置设计对不同类型异常的处理。
异常是专门针对抽象编程中的一系列错误处理的,C++中不能借助函数机制,因为栈结构的本质是先进后出,依次访问,无法进行跳跃,但错误处理的特征却是遇到错误信息就想要转到若干级之上进行重新尝试.如图所示:
异常超脱于函数机制,决定了其对函数的跨越式回跳。
1. 若有异常则通过throw操作创建一个异常对象并抛掷
2. 将可能抛出异常的程序段嵌在try块中。控制通过正常的顺序执行到达try语句,然后执行try块内的保护段。
3. 如果在保护段执行期间没有引起异常,那么跟在try块后的catch子句就不执行。程序从try块后跟随的最后一个catch子句后面的语句继续执行下去。
4. catch子句按其在try块后出现的顺序被检查。匹配的catch子句将捕获并处理异常(或继续抛掷异常)。
5. 如果匹配的处理器为找到,则则运行函数terminate将被自动调用,其缺省功能是调用abort终止程序。
6. 处理不了的异常,可以在catch的最后一个分支,使用throw语法,向上扔。
百度云网盘app(更名为百度网盘)下载v13.17.4 官方安卓版
305.43MB |系统工具
云上嵩县客户端下载v3.0.1 安卓版
181.13MB |资讯阅读
掌上芦淞客户端下载v4.0.1 安卓官方版
75.18MB |资讯阅读
大埔网app最新版下载v4.2.10安卓手机版
50.98MB |资讯阅读
naverpapago翻译软件官方下载v1.11.5 最新版本
143.67MB |生活服务
悦程商旅软件下载v2.16
47.59M |生活服务
月犬旅行app下载v1.0.13
46.4M |生活服务
茶竹永川网官方版下载v7.9.4.1 安卓版
87.73MB |社交娱乐
玩梗我更强下载v1.0.0 安卓版
其它手游烹饪偶像烹饪餐厅下载v3.2.8 安卓最新版
其它手游烹饪偶像内购破解版下载v3.2.8 安卓版
其它手游烹饪明星厨师中文版下载v3.2.8 安卓版
其它手游布娃娃破坏游乐场下载v1.014 安卓版
其它手游烹饪明星厨师内购破解版下载v3.2.8 安卓版
其它手游孢子进化手机游戏下载v0.2.108 安卓版
其它手游我要切爆全场下载v13.0.0 安卓版
其它手游开心农场3动物园中文版(farmville 3)下载v1.66.51444 安卓版
其它手游