| ▲ | nightpool 3 hours ago | ||||||||||||||||||||||||||||||||||
How would you handle validating numeric input in a hot path then? All of the solutions proposed in #5 are incomplete or broken, and it stems from the fact that Java's language design over-uses exceptions for error handling in places where an optional value would be much safer and faster. | |||||||||||||||||||||||||||||||||||
| ▲ | kerblang an hour ago | parent | next [-] | ||||||||||||||||||||||||||||||||||
> Java's language design over-uses exceptions for error handling No, library authors' design over-uses exceptions. Also refer to people using exceptions to generate 404 http responses in web systems - hey, there's an easy DDOS... This can include some of Java's standard libraries, although nothing springs to mind. Exceptions are not meant for mainstream happy-path execution; they mean that something is broken. Countless times I have had to deal garbage-infested logs where one programmer is using exceptions for rudimentary validation and another is dumping the resulting stack traces left and right as if the world is coming to end. It is a problem, but it's an abuse problem, not a standard usage problem. | |||||||||||||||||||||||||||||||||||
| ▲ | ivan_gammel 3 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||
Normally in 100% cases, with parseInt/parseDouble etc. Getting NumberFormatException so frequently on a hot path that it impacts performance means, that you aren’t solving the parsing number problem, you are solving a guessing type problem, which is out of scope for standard library and requires custom parser. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||