4 ms·
Throwing an exception isn't saying "I don't feel like dealing with this", but rather, "A problem has occurred". In C++ (ignoring exceptions), you typically (or
by rpledge 17y ago
Throwing an exception isn't saying "I don't feel like dealing with this", but rather, "A problem has occurred". In C++ (ignoring exceptions), you typically (or hopefully!) return an error code and rely on the caller to handle the issue. In Java, with checked exceptions, a catch or declaration that the current method can throw the same exception is needed for compilation.
Now, this doesn't stop empty catch blocks or other horrible coding practices, but professional software engineers should never let that happen in their code (and there are lots of people who do, and they shouldn't be getting paid to write code!)
Checked exceptions wouldn't fix the memory leak issues in C++, I routinely use the shared_ptr template to fix that, but it would be a good step forward.
- jacquesm 17y agoAye, I hear you. But the problem is not that people use stuff the way it is intended, but they will use it in ways that it is not intended! > Now, this doesn't stop empty catch blocks or other horrible coding practices, Exactly... > professional software engineers should never let that happen in their code I could show you some horror stuff I'm dealing with right now that does exactly that. The bigger problem is that it works and that I'm having a hard time convincing other people that that is not how it is done.