die produces debugging information suitable for programmers but annoying for users. Programmers want to know about line numbers. Users want information that will indicate a functional solution and don't like to see even partial stack traces - it makes them believe, quite reasonably, that the program wasn't actually ready for release and that someone didn't do their job and maybe should even be fired - in fact it's hard to argue against that.