C++ C++;Catch框架处理C';谁断言?

C++ C++;Catch框架处理C';谁断言?,c++,assert,catch-unit-test,C++,Assert,Catch Unit Test,我使用Phil Squared的Catch测试框架和一些使用assert的第三方代码进行单元测试 在开发过程中,经常会出现一些错误断言,导致程序中止。在这些情况下,Catch不会报告任何日志和其他诊断信息 有没有办法“重定向”这个程序并让Catch处理它?你不能捕获assert,但你可以重新定义它。原始断言只是终止程序,它不会抛出异常,所以您无法捕获它。但assert是一个宏,您可以取消定义原始宏并定义自己的宏。在C++程序中,通常以这样的方式重新定义AsScript,这将引发异常。然后你就能在

我使用Phil Squared的Catch测试框架和一些使用assert的第三方代码进行单元测试

在开发过程中,经常会出现一些错误断言,导致程序中止。在这些情况下,Catch不会报告任何日志和其他诊断信息


有没有办法“重定向”这个程序并让Catch处理它?

你不能捕获assert,但你可以重新定义它。原始断言只是终止程序,它不会抛出异常,所以您无法捕获它。但assert是一个宏,您可以取消定义原始宏并定义自己的宏。在C++程序中,通常以这样的方式重新定义AsScript,这将引发异常。然后你就能在测试中捕捉到它