社区
非技术类
帖子详情
请问什么叫做First-chance exception
vertex
2002-01-07 05:52:30
程序运行出现下面Debug信息
First-chance exception in test.exe (NTDLL.DLL): 0xC0000005: Access Violation.
请问是什么意思,怎么解决?
...全文
59
4
打赏
收藏
请问什么叫做First-chance exception
程序运行出现下面Debug信息 First-chance exception in test.exe (NTDLL.DLL): 0xC0000005: Access Violation. 请问是什么意思,怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vertex
2002-01-07
打赏
举报
回复
没人知道?
vertex
2002-01-07
打赏
举报
回复
. .
vertex
2002-01-07
打赏
举报
回复
那样的话不就直接"非法操作了吗"?不会有first-chance罢?
hujun614
2002-01-07
打赏
举报
回复
有非法地址访问,如你使用了一个指针指向的对象,但使用的时候指针没有初始化就会这样,
如何解决?好好检查程序吧。
只有靠自已了。
First
chance
exception
与 Second
chance
exception
1. 当异常发生后,系统会首先检查是否有调试器加载,如果有则调试器会收到异常消息,并决定是否中断程序的执行。这叫First
chance
exception
。如果没有调试器加载,则转2,如果调试器决定忽略First
chance
exception
,同样转2,如果调试器不忽略,则
理解First
Chance
和Second
Chance
避免单步调试
在现在C++、Java、.Net代码大行其道的时候,很多代码错误(Bug)都是通过异常的形式表现出来的。由于工期紧或者种种原因,很多程序员在碰到程序发生未处理的异常的第一反应就是try … catch (
Exception
e) { … }。然而代码开发到后期的时候,这种简单粗暴的解决代码错误(Bug)的方式就会在其他不相干的地方表现出来,有的时候甚至导致程序随机的不稳定,而且很难调试。比如执行下
A first
chance
exception
of type 'System.NullReference
Exception
' occurred发生的时候你确实是遇到了Bug
或许你在ViusalStudio调试程序的时候,发现Output windows打印出了一行信息,关于A first
chance
exception
of type'System.NullReference
Exception
' occurred, 可能你曾经疑惑,什么是first
chance
exception
, 这句话是否说明我的code有问题,但是如果有问题,为什么我的程序没有抛出任
c++ 异常
exception
有多个catch的时候,按照书写顺序,顺序执行,执行catch时会检查,是否完全匹配,是否是catch参数类型的子类(仅限引用和指针?throw的内容通常是本地变量,存储在堆栈中,在退出throw所在的程序段时并不会立即销毁,而是会被throw到向上的层级中。throw会带着throw的内容不断向上回溯并终止回溯到的每一级运行到的程序,直到回溯到try。在函数abc中,最多抛出MathErr,括号中的所有异常种类(不是一定会抛出)catch中的throw会自动将catch到的内容throw,无需参数;
Effective C#之Item 44:Create Complete Application-Specific
Exception
Classes
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE
非技术类
1,649
社区成员
58,980
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章