A question regarding formatting of function try-block

Dear all,

Recently we introduced clang-format into our company, for formatting c+±code. After some fine-tuning of the settings, we’re extremely happy with it. Today I came across a bit of code that uses a function try-block - not a very-often use feature of C++, but sometimes usefuly, however, I don’t really like what clang-format is doing, and I’m having trouble figuring out how to tell clang-format what to do.

So, here is the header of the function that has the problem:

HlPropertiesParser::HlPropertiesParserError HlPropertiesParser::readPropertiesDataFromFile(
const std::wstring& filename,
std::vector& hlPropertyRules,
std::wstring& errorMsg)
try
{

/// code

Of course down below will be the closing brace of the function, and a number of catch-clauses. When I now run clang-format on it, it will move the ‘try’ after the closing bracket like so:

HlPropertiesParser::HlPropertiesParserError HlPropertiesParser::readPropertiesDataFromFile(
const std::wstring& filename,
std::vector& hlPropertyRules,
std::wstring& errorMsg) try
{

It looks as if clang-format considers this like a const- or noexcept specifier. However, I would really like to tell clang-format to put the ‘try’ on the next line, preferably even always at the start of the line. Is there a style option that will let be achieve this?

Sincerely,
Jakob van Bethlehem

Not sure who’s doing most of the work on clang-format these days - Sam, maybe you know?

I replied.

Fixed by Revision 343305.