The preprocessor directive here is misbehaving in the absence of CXXABI_HEADER i.e. it stills compiles the underlying code in the absence of abi namespace, resulting in compile time error of missing abi namespace.
If this line is replaced with #if __has_include(<cxxabi.h>) the program compiles successfully!
How to reproduce
Compile a program using Poco-1.14.0 with Poco/Types.h header but make sure cxxabi.h is not in your include path!