Throw instead of calling exit in enforceNotReservedTag

Closes #865
This commit is contained in:
Martin Hořeňovský 2017-03-22 17:53:22 +01:00
parent d07999ddff
commit f64d914bff

View File

@ -38,17 +38,13 @@ namespace Catch {
} }
inline void enforceNotReservedTag( std::string const& tag, SourceLineInfo const& _lineInfo ) { inline void enforceNotReservedTag( std::string const& tag, SourceLineInfo const& _lineInfo ) {
if( isReservedTag( tag ) ) { if( isReservedTag( tag ) ) {
{ std::ostringstream ss;
Colour colourGuard( Colour::Red ); ss << Colour(Colour::Red)
Catch::cerr()
<< "Tag name [" << tag << "] not allowed.\n" << "Tag name [" << tag << "] not allowed.\n"
<< "Tag names starting with non alpha-numeric characters are reserved\n"; << "Tag names starting with non alpha-numeric characters are reserved\n"
} << Colour(Colour::FileName)
{ << _lineInfo << '\n';
Colour colourGuard( Colour::FileName ); throw std::runtime_error(ss.str());
Catch::cerr() << _lineInfo << std::endl;
}
exit(1);
} }
} }