Re:Why Java exceptions are slow (and Common Lisp conditions ...
by russell on Saturday January 17, 2009 @12:49PM
(#438298)
Exceptional doesn't mean once in a blue moon; it just means "not the normal flow", for example, it could mean missing data, which could be handled by returning and testing for a null in Java. Python has more efficient exception handling, so missing data is often handled by an exception. Programmers are encouraged to use this idiom. It has the advantage that the return value space is not cluttered by a distinguished error value. If a function returns an integer, is the error value 0, -1, or 9999?
[ Parent
| on HN ]
Re:Why Java exceptions are slow (and Common Lisp conditions ...
by dfox on Saturday January 17, 2009 @06:13PM
(#438731)
From casually looking at both CPython and JVM code I conclude that implementation of exception handling in Java and Python is almost same. So this is more a cultural difference than effectiveness issue.
Re:Why Java exceptions are slow (and Common Lisp conditions ...
by gaius on Saturday January 17, 2009 @06:54PM
(#438762)
In Java you can do stuff like, the JVM is going to bounds check you anyway, so why bother checking yourself if you're about to go off the end of an array? Just i++ and catch IndexException (or whatever it's called).