I have been troubleshooting this script for weeks and finally found it was trying to divide by zero.
Panicking on the error is much better than letting the system work continue on an undefined behaviour (good luck with debugging if you are ignoring all assertions)!
Just ship it with debug flags so your program always generates a stack trace to the user!
Makes me think of devs who debug with print statements instead of a debugger and breakpoints.
Well, Kernighan himself said “The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”
If it was good enough for him…
/me glances sideways at codebase
IMO there’s a place for both. A print statement will reveal a flaw in the programmer’s thinking regarding the control flow of the program and the state at that time. If a print statement gives something unexpected, you know exactly where to look in the debugger. If it gives you what you expected, it reveals the problem may be elsewhere
would it help if I returned -2147483648?