4 ms·
Seems to be a general trend in a lot of software nowadays. Vague error messages telling you "Something went wrong" with no additional details.
by xnzakg 2y ago
Seems to be a general trend in a lot of software nowadays. Vague error messages telling you "Something went wrong" with no additional details.
- immibis 2y agoIt's not a new trend - error-code based software would propagate that ERROR_INVALID_PARAMETER all the way from the function with the invalid parameter back out to the return value of the user operation, then helpfully tell the user "Invalid parameter!" Exceptions with string messages and full stack traces might be yet another underrated Java invention.
- chuckadams 2y agoDr Watson is still a thing for getting tracebacks. Doesn’t work for kernel mode of course, but most things don’t.
- immibis 2y agoDo you ask your users to run some weird debug tool when the dialog box says "Invalid parameter!" Does it help? The stack trace at the point where the dialog box is displayed is useless.
- ziml77 2y agoGod that error is nearly useless even to the developer. Last couple of times I've gotten it, I've dropped the DLL that the error originates from into Binary Ninja and run the debugger to figure out which parameter failed a check.
- ack_complete 2y agoEven that at least helps rule out the most common issues, and is less frustrating than an update pooping out 0x80070070 and making you manually translate it to ERROR_DISK_FULL.
- dwattttt 2y agoI've most recently embraced more complex error objects. It's quite a feeling to get an error description a la Failed to open configuration file Caused by: Failed to open path PATH Error access denied
- ben_w 2y agoI grew up with "System Error Type 11" (or whatever the exact quote was, hard to find on google). I think the only button on the dialog box was "Restart".
- wpollock 2y agoOne of the humorists I worked with at Bell Labs in the 1980s would always report error code 13 as the error when no more specific error code was available. When one looked that up in the man page, it just said "you are unlucky".
- wongarsu 2y agoSomething went wrong frowning smiley. Our engineers are probably working hard on fixing it right now.
- kccqzy 2y agoThis is why I strongly prefer working on software made by developers for developers. That is to say, internal tooling. You can just show the entire error message in as much detail as possible, without a PM stepping in and saying you can't show this much scary text to the typical user. Especially if the user of the software also has easy access to your source code so they can search for the exact string and find the exact location of the error, and understand exactly what checks are being done to emit that error.
- Cthulhu_ 2y agoThere's two directions that goes into. Highly specialized error codes with zero results on search engines, or overly generic errors with a billion results and underlying reasons. Error design needs to be its own subject / specialization. Errors need to say what the problem is and how to fix it, in an ideal world, or what the user can do or should google to solve it. And of course, any error code of any public software should be listed on a website or a locally accessible resource.
- akira2501 2y agoThis is where I really love mainframes. The errors all contain a consistent code and a description. The codes are all published, are easy to find nowadays, and have generally good documentation attached to them. Here's an IBM example, for just a single OS facility: https://www.ibm.com/docs/en/SSLTBW_2.4.0/pdf/hasa100_v2r4.pdf https://www.ibm.com/docs/en/SSLTBW_2.4.0/pdf/hasa100_v2r4.pd...
- ctroein89 2y agoGood error messages are hard. You want to tell the user what to do, but if you knew that the error could be thrown, you probably should have been gracefully handling the problem. You don't know what information is useful to a hacker and you don't know how your error will be propagated. Meaningful errors at one level ("incorrect parameters passed" when calling an API) is perfectly useless at another level ("incorrect parameters passed" when interacting with a React UI). And if you respect all of the above, at some point you'll end up with an error message that basically says "I can't tell you what, why or how something went wrong, but it did."
- rolph 2y agoall information is useful to a hacker. if you can find a way to use information beyond creators intent, to achieve your goals regardless of hat color, you are hacking.