[cfe-users] A question regarding formatting of function try-block

Jakob van Bethlehem via cfe-users cfe-users at lists.llvm.org
Mon Sep 24 02:07:28 PDT 2018


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<HullLinePropertyRule>& 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<HullLinePropertyRule>& 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20180924/f27041e4/attachment.html>


More information about the cfe-users mailing list