Am 08.05.2017 um 07:16 schrieb Philippe <philw...@gmail.com>:
>>> There is probably a reason why completely new languages like Swift come
>>> completely without exception handling
>
> Quote from Apple doc:
>
> "Swift provides first-class support for throwing, catching, propagating,
> and manipulating recoverable errors at runtime."
>
> https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html
>
Interesting. That must be a "recent addition to Swift (3.0?)", as that clearly
wasn't there from the very beginning (hence the outcry in the former ObjC
community).
This sticks out for me:
"Note: Error handling in Swift resembles exception handling in other languages,
with the use of the try, catch and throw keywords. Unlike exception handling in
many languages—including Objective-C—error handling in Swift does not involve
unwinding the call stack, a process that can be computationally expensive. As
such, the performance characteristics of a throwstatement are comparable to
those of a returnstatement."
But yes, for all practical matters that means that Swift has exception handling
now :)
But then there's another new language Go which also "got rid" of exceptions
(because it can "afford to": it doesn't have a huge legacy API like Cocoa/ObjC
to satisfy) from the very beginning:
https://dave.cheney.net/2012/01/18/why-go-gets-exceptions-right
That's a nice read btw which I just found.
This sums up my previous point pretty nicely:
"Java exceptions ceased to be exceptional at all, they became commonplace. They
are used from everything from the benign to the catastrophic, differentiating
between the severity of exceptions falls to the caller of the function."
;)
Cheers,
Oliver
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest