this post was submitted on 28 Feb 2024
1010 points (97.0% liked)
Programmer Humor
32561 readers
389 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
let's not act like Java's error log is useful
Super-advanced java devs like me do it like
try{} catch (Exception e) { System.out.println("something went wrong"); e.printStackTrace(); }
On Error Resume Next
never before have more terrible words been spoken.Every time I'm reading a PowerShell script at work and see
-ErrorAction SilentlyContinue
I want to scream into a pillow and forcefully revert their commit.I've actually done it a few times, but I want to do it every time.
And that's why you're a hero.
Yeah cos everyone knows other languages are impossible to write bad code with
Which is usually not a piece of code written by us and is caused by another piece of code not written by us either
Does your IDE not highlight the lines written by you in a different colour? Of course that doesn't help when it's an error in production!
Is it possible to make intelliJ do this?
I thought it highlighted the line number in blue when it was your code. I use eclipse so can't properly remember
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.
I think it's pretty useful, be interested to hear your hangups with it though because it's definitely not perfect.
If something goes wrong and I have a stack trace, that plus the type of exception will almost always be enough for me to figure out what's wrong at least as a starting point. I've worked mostly with JVM languages in my career though so maybe I just don't know how bad it actually is.
It's not bad. It's better than what most languages give you
skill issue
The same applies to using the core dump.
In fact, the Python one is the lest useful of the trio.
When the day comes that you need
gdb
you will indeed be amazed at how fucking powerful it is. If your server crashes grab that core dump!It's extraordinarily useful
Implying you can't consistently go to the same line every time and it always has what you need.