this post was submitted on 28 Feb 2024
1010 points (97.0% liked)

Programmer Humor

32558 readers
580 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 8 months ago (1 children)

but you can follow any exception down to the exact line of code (or JNI call, I guess) where the problem occurs.

But, it's not really where the problem occurred. How often do you get a stack trace and the bug fix is at the line referenced by the stack trace? Almost never. It's more that it takes you down to the exact line of code where the effects of the problem are bad enough to affect the running of the program. But, the actual problem happened earlier, sometimes much earlier.

For example, NullPointerException isn't actually the problem, it's a symptom of the problem. Something didn't get initialized properly, and nobody noticed for a while, until we tried to use it, and got a null pointer. Sometimes it's easy to go from the effect (null pointer) to the cause (uninitialized thing). But, other times that "thing" was passed in, so you have to work backwards to try to figure out where that thing comes from, and why it's in that broken state.

Sure, it's better than nothing, but it's still frustrating.