首页 > 代码库 > delphi提示错误行号之Assert(断言)

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(断言)