On 6/25/17 1:38 PM, mckoder wrote:
I am disappointed that D doesn't have checked exceptions.

C++ and C# also don't have checked exceptions. Java has checked exceptions. Having programmed extensively in all these languages I can say with confidence that checked exceptions is the most important thing missing in C++ and C#. Around the time C# was released there was a lot of debate around the topic of checked vs unchecked exceptions and this created an impression that Java's use of checked exceptions was "controversial". In fact it is a feature every modern language should have.

No, checked exceptions leads to this (maybe not for you, but for 90% of developers out there):

void foo()
{
   functionWithException();
}

compiler: foo throws, and you need to handle or declare the exceptions it throws

void foo()
{
   try {
     functionWithException();
   } catch(Exception e) {} // shut up compiler
}

So it ends up defeating the purpose. The exception is not properly handled, either inside or outside the function.

You can get into a long discussion if you want, I'm not going there. Bottom line: D *will not* have checked exceptions, Walter has said so many times. If that's a deal killer, you should probably stick with Java. Sorry, don't want to waste your time.

-Steve

Reply via email to