随笔分类 -  异常编程

摘要:https://blog.csdn.net/chaoyuan899/article/details/107183847 // Replaced by CF (throws an NSException) + (void)doesNotRecognizeSelector:(SEL)sel { _obj 阅读全文
posted @ 2021-10-28 21:54 zzfx 阅读(55) 评论(0) 推荐(0) 编辑
摘要:程序执行流发生(异常)跳转 异于正常流程。 一、异常的(检测)触发:编译器插入检查指令(对语言规定的检查项); 二、异常的基本处理机制:类似中断,生成异常场景信息,然后执行转发操作。 三、异常处理的上下文:由线程货其他结构保存的类似函数调用栈的上下文结构体。 异常事件的触发、派发、处理及上下文机制。 阅读全文
posted @ 2020-03-24 15:29 zzfx 阅读(142) 评论(0) 推荐(0) 编辑
摘要:【1】无论是中断,还是异常和陷阱,对应的处理函数,一般都可以称其为中断服务程序ISR, 都只是一个函数 具体函数里面要做什么事情,是由你写程序的人决定的。 【2】 比如中断中处理对应的事情,异常中自己决定如何响应出现的异常,陷阱中决定做什么事情。 【3】 中断:是为了设备与CPU之间的通信。典型的有 阅读全文
posted @ 2020-03-24 15:23 zzfx 阅读(960) 评论(0) 推荐(0) 编辑
摘要:Oc的异常触发 异常是语言库、接口层面的错误; 信号时系统内核的错误; 作者:匿名用户链接:https://www.zhihu.com/question/20175801/answer/14225549来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 既然提问者已经补充 阅读全文
posted @ 2020-03-19 16:38 zzfx 阅读(773) 评论(0) 推荐(0) 编辑
摘要:1、用冗余代码实现额外信息的传递; 2、分离正常和异常的处理逻辑; 阅读全文
posted @ 2019-07-26 19:29 zzfx 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Stack unwinding is just the process of navigating up the stack looking for the handler. Wikipedia summarizes it as follows: Some languages call for un 阅读全文
posted @ 2019-07-26 19:21 zzfx 阅读(131) 评论(0) 推荐(0) 编辑
摘要:异常机制的本质: 用冗余代码实现额外信息的传递: 异常机制的本质是异常机制代码的解释权: 作出解释即用冗余代码实现异常机制的额外逻辑; 1、异常信息的表达:包含什么:在哪里出的什么错误; 2、异常信息的传递:栈帧、长跳转; 3、异常的处理: /** * 抛出异常对象,对应代码:@throw e; * 阅读全文
posted @ 2019-03-25 17:35 zzfx 阅读(306) 评论(0) 推荐(0) 编辑
摘要:#define SIGSEGV 11 /* segmentation violation */ #define SIGSYS 12 /* bad argument to system call */ #define SIGPIPE 13 /* write on a pipe with no one 阅读全文
posted @ 2018-08-01 15:33 zzfx 阅读(143) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/nanyu/article/details/6475555 有人问这个问题: Code: try { std::cout << 10/0 << std::endl; } catch(...) { std::cout << "exception" << std 阅读全文
posted @ 2018-08-01 14:24 zzfx 阅读(770) 评论(0) 推荐(0) 编辑
摘要:http://my.oschina.net/chenliang165/blog/125825. 最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制 阅读全文
posted @ 2017-12-04 18:32 zzfx 阅读(1737) 评论(0) 推荐(0) 编辑
摘要:结论:线程崩溃不一定导致进程崩溃。 线程崩溃的本质就是内存出错。而内存出错有时不会引起其他线程出错的,因为崩溃的线程,也就是出错的内存有时侯没有被其他线程访问,也就不会产生问题,但有时候会打乱其他线程的内存。 https://bbs.csdn.net/topics/330102295 阅读全文
posted @ 2017-11-23 16:47 zzfx 阅读(3176) 评论(0) 推荐(1) 编辑
摘要:仅供参考 http://www.baiy.cn/doc/cpp/inside_exception.htm 在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。 还是那句开场白:“在恰当的场合使用恰 阅读全文
posted @ 2017-09-05 16:47 zzfx 阅读(361) 评论(0) 推荐(0) 编辑
摘要:#define try if(!setjmp(Jump_Buffer)) 返回try现场后重新执行判断,所以有两次执行。 http://blog.csdn.net/tian_dao_chou_qin/article/details/6386621 1.概述 什么是异常?异常一般指的是程序运行期(Ru 阅读全文
posted @ 2017-07-27 18:46 zzfx 阅读(1931) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/bonchoix/article/details/8046727 一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源;2.不允许破坏数据。 我们先通过两个反面的例子开始。 第一个是造成资源泄漏的例子。一个类Type,内含一个互斥锁成 阅读全文
posted @ 2017-07-27 16:47 zzfx 阅读(407) 评论(0) 推荐(1) 编辑
摘要:http://blog.csdn.net/womendeaiwoming/article/details/44243571 OS中的崩溃类型 在这里了解一下XCode用来表示各种崩溃类型的术语,补充一些这方面的各知识。崩溃通常是指操作系统向正在运行的程序发送的信号,所以我们在查看崩溃日志时,常常看到 阅读全文
posted @ 2017-07-27 10:53 zzfx 阅读(905) 评论(0) 推荐(0) 编辑
摘要:http://m.blog.csdn.net/kangguang/article/details/62501490 用汇编语言编写的软件跟用脚本或标记语言编写的Web应用的差别在于,前者在出现问题时会崩溃,由于Web应用运行在浏览器环境中,所以Web应用很少会对内存的使用造成破坏或是导致浏览器崩溃。 阅读全文
posted @ 2017-07-27 10:49 zzfx 阅读(593) 评论(0) 推荐(0) 编辑
摘要:异常处理的本质:状态回滚或者状态维护。 https://en.wikipedia.org/wiki/Exception_handling In general, an exception breaks the normal flow of execution and executes a pre-r 阅读全文
posted @ 2017-07-26 19:43 zzfx 阅读(621) 评论(0) 推荐(0) 编辑
摘要:https://developer.apple.com/documentation/foundation/nsautoreleasepool An object that supports Cocoa’s reference-counted memory management system. An 阅读全文
posted @ 2017-07-25 23:54 zzfx 阅读(267) 评论(0) 推荐(0) 编辑
摘要:http://blog.jobbole.com/103925/ 本文深入讨论了VC++编译器异常处理的实现机制。附件源代码包含了一个VC++的异常处理库。 下载源代码 – 19 Kb 介绍 相对于传统语言,C++ 的革命性特征之一,就是它对异常处理的支持。传统异常处理技术有缺陷并且易于出错,而 C+ 阅读全文
posted @ 2017-02-28 14:35 zzfx 阅读(1248) 评论(0) 推荐(0) 编辑