[
https://issues.apache.org/jira/browse/THRIFT-4646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16637547#comment-16637547
]
ASF GitHub Bot commented on THRIFT-4646:
----------------------------------------
bp1222 opened a new pull request #1604: THRIFT-4646: change dart generation of
exception to exception
URL: https://github.com/apache/thrift/pull/1604
Tested locally, and is generating correctly. The description of the issue
being addressed is described in the JIRA ticket.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Effective Dart and Exceptions
> -----------------------------
>
> Key: THRIFT-4646
> URL: https://issues.apache.org/jira/browse/THRIFT-4646
> Project: Thrift
> Issue Type: Bug
> Components: Dart - Compiler
> Reporter: Dave Walker
> Priority: Trivial
>
> Thrift implemented dart output ~3 years ago and in doing so outputs
> exceptions in classes that extend Error[1]. At the time this commit[2] was
> done this was acceptable. However, a year or so after this commit Effective
> Dart introduced a rule that you "DON'T" catch Errors or anything that
> implements them[3]. However, Dart SDK had for the Error type ~5 years ago
> that they should not be used for expect or catch[4].
> As such this ticket requests that the generator for dart code should have
> exception types implement Exception rather than extending Error. Although
> Error and Exception are used pretty interchangeably in terms of throwing,
> they do differ for the expect/catch and as such would warrant being included
> in a major version change.
> [1] -
> [https://github.com/apache/thrift/blob/master/compiler/cpp/src/thrift/generate/t_dart_generator.cc#L781]
> [2] -
> [https://github.com/apache/thrift/commit/932c4700c6e3aee20b74d5e2f562326029e6b9c8]
> [3] -
> [https://www.dartlang.org/guides/language/effective-dart/usage#dont-explicitly-catch-error-or-types-that-implement-it]
> [4] -
> [https://github.com/dart-lang/sdk/commit/460e157416212a0ce90dbfbc6e2e2f68c4e421e8]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)