3 ms·
I'd also say there is a bit of a 'when you have a hammer…" going on. Java in particular spent a good portion of its formative years with relatively few language
by dwaite 2y ago
I'd also say there is a bit of a 'when you have a hammer…" going on. Java in particular spent a good portion of its formative years with relatively few language features, so there was a lot of cobbling them together in interesting ways to solve new classes of problems.
Exceptions became a way to capture diagnostic context for where an error happened and a (limited) view of state, so a lot of Java server applications use them as part of their issue reporting and diagnosis process.
Other languages may expect say the application to halt on unexpected errors, and to build tools to locally evaluate the core dump (such as crash reports and symbolication in Apple-land).
This does have some influence on developers in terms of the ramifications of a failure (failed request vs stopped application/server), so it can have interesting effects in how seriously a team evaluates potential errors and designs for recovery/cleanup.