diff --git a/lib/src/front_end/piece_factory.dart b/lib/src/front_end/piece_factory.dart index 8ffe303d..0fa9f4fb 100644 --- a/lib/src/front_end/piece_factory.dart +++ b/lib/src/front_end/piece_factory.dart @@ -775,7 +775,8 @@ mixin PieceFactory { pieces.token(catchKeyword); pieces.space(); - var parameters = DelimitedListBuilder(this); + var parameters = DelimitedListBuilder( + this, const ListStyle(commas: Commas.nonTrailing)); parameters.leftBracket(catchClause.leftParenthesis!); if (catchClause.exceptionParameter case var exceptionParameter?) { parameters.visit(exceptionParameter); diff --git a/test/tall/statement/try.stmt b/test/tall/statement/try.stmt index 65d18fc2..b1e79b60 100644 --- a/test/tall/statement/try.stmt +++ b/test/tall/statement/try.stmt @@ -110,4 +110,33 @@ try { } on FooException { } on BarException { doSomething(); -} \ No newline at end of file +} +>>> Split inside catch clause without stack trace. +try { + doSomething(); +} catch (someSurprisinglyLongVariableName) { + doSomething(); +} +<<< +try { + doSomething(); +} catch ( + someSurprisinglyLongVariableName +) { + doSomething(); +} +>>> Split inside catch clause with stack trace. +try { + doSomething(); +} catch (longErrorVariable, longStackTrace) { + doSomething(); +} +<<< +try { + doSomething(); +} catch ( + longErrorVariable, + longStackTrace +) { + doSomething(); +} diff --git a/test/tall/statement/try_comment.stmt b/test/tall/statement/try_comment.stmt index 0076a41b..4bcfc8a0 100644 --- a/test/tall/statement/try_comment.stmt +++ b/test/tall/statement/try_comment.stmt @@ -27,7 +27,7 @@ try { body; } catch ( // comment - e, + e ) { print(e); } @@ -38,7 +38,7 @@ try { body; } catch (e// comment try { body; } catch ( - e, // comment + e // comment ) { print(e); }