>about every strange error they get from another programming language that js would have just passed silently with a weird result
Wait, do you mean to imply that "passing silently with a weird result" is somehow better than throwing a verbose, descriptive error?