DIP 1002 (TryElseExpression) added to the queue

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 27 02:48:42 PDT 2016


On Tuesday, September 27, 2016 09:30:10 Dicebot via Digitalmars-d wrote:
> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1002.md
>
> PR: https://github.com/dlang/DIPs/pull/43
>
> Abstract:
>
> In Python, the try/catch/finally syntax is augmented with an
> additional clause, termed else. It is a fantastically useful
> addition to the conventional syntax. It works like this:
>
> ```
>      try:
>          do_something()
>      except Exception as e:
>          pass # Runs when an error inheriting from Exception was
> raised
>      else:
>          pass # Runs when no error was raised
>      finally:
>          pass # Runs unconditionally, evaluates last
> ```

And why not just put the code that would go in the else at the end of the
try block? Just like with this proposed else, the code would only run if the
preceding code didn't throw any exceptions. This just seems like an attempt
to make D more like python rather than to add anything useful.

- Jonathan M Davis



More information about the Digitalmars-d mailing list