Just because call_to_get_info_from_remote_system fails doesn't mean you have to be done.
user_method(tries)
while i < tries
if call_to_get_info_from_remote_system() == FAIL
# log error
if check_remote_system_reachable()
# fatal error be done
i++
granted this makes all kinds of assumptions like you can afford to retry this operation up to N times. It also may break the rule of "Stupidity"
I'll grant you pointer craziness and give array overflows a pass, but I ran into a MemoryError exception in Python just a few hours ago. I loves me some higher-level languages, but they still run on a machine with lower-level limitations.
At my last company, I had to code in this style, and it sucks. You get into ridiculous situations where you have to somehow fail gracefully with absolutely no context or information about how to do so.
Exceptions are a much better solution - I pity anyone who isn't able to use them.
I think this is not helpful at all, probably harmful. There might be use cases for my code I did not even think about and third-party programmers should well be able to use it as they wish. And if they feel like modifying internal state (which the author deems fragile in his article) -- oh well! We are all adults here.
NB. I agree that the library he's examining is sub-par quality and is well worth a look.
7 comments
[ 2.4 ms ] story [ 33.6 ms ] threaduser_method() call_to_get_info_from_remote_system()
Just because call_to_get_info_from_remote_system fails doesn't mean you have to be done.
user_method(tries) while i < tries if call_to_get_info_from_remote_system() == FAIL # log error if check_remote_system_reachable() # fatal error be done i++
granted this makes all kinds of assumptions like you can afford to retry this operation up to N times. It also may break the rule of "Stupidity"
Still, I'm glad not to have to worry about malloc fails, pointer craziness and array overflows anymore, for the most part =)
Exceptions are a much better solution - I pity anyone who isn't able to use them.
-- Ayjay on Fedang #coding
I think this is not helpful at all, probably harmful. There might be use cases for my code I did not even think about and third-party programmers should well be able to use it as they wish. And if they feel like modifying internal state (which the author deems fragile in his article) -- oh well! We are all adults here.
NB. I agree that the library he's examining is sub-par quality and is well worth a look.