作者UNARYvvv (有趣生活)
看板C_and_CPP
标题Re: [问题] assert的问题
时间Thu Dec 1 20:12:07 2005
※ 引述《Biboy (毕波)》之铭言:
: 我使用assert来做判断
: 当他错误的时候不是会出现错误讯息吗~
: 但是那个画面瞬间就消失了
: 要怎麽样才能使画面停留在错误讯息那里?
基本上如果要保证 "一定" 会停下来的话
你得自己先判断,如果要检验的那个运算式为 0 的话
要自行让程式暂停 (例如等待按下一个按键)
然後再呼叫 assert
原因是因为
assert 的行为是:1. 显示出一些讯息 (ex.原始档名,行号 ..)
2. 呼叫 abort() => 令程式直接终止
问题在於 2
因为其实不同 library 实作 abort 的实际行为可能不太一样
例如我用 VC 的话,呼叫 abort 会跳出一个讯息框 (按钮有重试,终止,略过)
但是用 Dev-C++ 的话,呼叫 abort,则印出以下文字:
This application has requested the Runtime to terminate
it in an unusual way. Please contact the application's
support team for more information.
然後程式直接关闭,当然也就不会停住了
所以如果要停住,不要依赖 assert,自己先判断看看要不要停住吧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.70.137.117