delphi提示错误行号之Assert(断言)

Posted 疯狂delphi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi提示错误行号之Assert(断言)相关的知识,希望对你有一定的参考价值。

 

一、用法:Assert(表达式)
1.如果为假 Assert会产生一个EAssertionFailed异常,显示为 Assertion Failed (C:/src/unit1.pas, [size=+0]line 34)
2.如果不想再使用这些检查时,可以使用($ASSERTIONS OFF)或($C-)编译指令
3.要想使Assert在整个项目中失效, 关闭Project Options | Compiler | Assertion 选项。

二、delphi Assert()函数的用法
Assert(断言)的作用是用来进行条件测试。可以计算表达式 Expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。
缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销。

三、用法总结与注意事项:
1)在函数开始处检验传入参数的合法性
2)每个Assert只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败
3)不能使用改变环境的语句,因为Assert只在DEBUG个生效,如果这么做,会使用程序在真正运行时遇到问题。
4)Assert和后面的语句应空一行,以形成逻辑和视觉上的一致感
5)有的地Assert不能代替条件过滤

四、程序实例
procedure TForm1.Button1Click(Sender: TObject);
begin
//参数1为false时提示,参数2为提示字符
Assert(False,\'这地方有错!\');
end;

 

以上是关于delphi提示错误行号之Assert(断言)的主要内容,如果未能解决你的问题,请参考以下文章

assert_断言使用方法

python之assert断言

assert断言检测

手把手写C++服务器(13):C++11新特性之静态断言static_assert

Java陷阱之assert关键字

Java陷阱之assert关键字