You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Dave Walker (JIRA)" <ji...@apache.org> on 2018/10/03 16:14:00 UTC

[jira] [Created] (THRIFT-4646) Effective Dart and Exceptions

Dave Walker created THRIFT-4646:
-----------------------------------

             Summary: 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


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 extend 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)