error handling

programming languages

Exception-Driven Development

If you're waiting around for users to tell you about problems with your website or application, you're only seeing a tiny fraction of all the problems that are actually occurring. The proverbial tip of the iceberg. Also, if this is the case, I'm sorry

By Jeff Atwood ·
Comments

software development

Why Can't Error Messages Be Fun?

I haven't had the opportunity to talk at all about Google's new Chrome browser yet. Which is a shame, because it's easily the best web browser I've ever used. If it wasn't for the complete and utter lack of an

By Jeff Atwood ·
Comments

software development concepts

Crash Responsibly

As programmers, it is our responsibility to ensure that when something goes horribly wrong with our software, the user has a reasonable escape plan. It's an issue of fundamental safety in software error handling that I liken to those ubiquitous airline safety cards.   Which one accurately depicts the

By Jeff Atwood ·
Comments

javascript

JavaScript and HTML: Forgiveness by Default

I've been troubleshooting a bit of JavaScript lately, so I've enabled script debugging [http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx] in IE7. Whenever the browser encounters a JavaScript error on a web page, instead of the default, unobtrusive little status bar notification.

By Jeff Atwood ·
Comments

user experience

Creating User Friendly 404 Pages

We understand what 404 means: Page Not Found. But the average internet user has no idea what 404 means or what to do about it. To them, it's yet another unintelligible error message from the computer. Most 404 pages are unvarnished geek-speak. Consider the default 404 page under

By Jeff Atwood ·
Comments

software development

The Software "Check Engine" Light

Raymond Chen notes that, in his personal experience, users don't read dialogs: How do I make this error message go away? It appears every time I start the computer. RC: What does this error message say? User: It says, 'Updates are ready to install.' I'

By Jeff Atwood ·
Comments

operating systems

The Many Faces of (Windows) Death

As I recall, the Blue Screen of Death was introduced with Windows NT 3.1 circa 1993: A blue screen of death occurs when the kernel, or a driver running in kernel mode, encounters an error from which it cannot recover. This is usually caused by a [hardware] driver that

By Jeff Atwood ·
Comments

asp

Classic ASP

I just went to the Radio Shack website to look for something, and after every click on the main page, I was greeted with this: If I was running a giant corporation, I think I’d hire coders who could develop a rational error handling strategy for our production website.

By Jeff Atwood ·
Comments

ui design

UI Follies, Volume I

Occasionally I run into UI elements so boneheaded, I have to wonder what the programmers were thinking. It’s a standard convention for installers to show (estimate, really) how long the install will take. That way users have some idea how long they’ll be waiting, and whether they can

By Jeff Atwood ·
Comments

user experience

Teaching Users to Read

I’ve talked about irresponsible use of dialog boxes before, but a few pages I’ve read recently highlighted an interesting aspect of this topic that I hadn’t considered. First, Joel Spolsky: This may sound a little harsh, but you’ll see, when you do usability tests, that there

By Jeff Atwood ·
Comments

exception handling

Creating More Exceptional Exceptions

I find myself throwing plain old System.Exception far too often. If only I had a complete reference of the many default Exception classes Microsoft provides, like the one Chris Sully provides in his article. That’s good as a starting point, but I don’t see things like System.

By Jeff Atwood ·
Comments

programming languages

Throwing better SOAP exceptions

I’m fairly happy with my global unhandled exception handler for WinForms and console apps. I also successfully adapted a version of it for use in ASP.NET apps, where it interfaces with the Application_Error event in global.asax: Sub Application_Error(ByVal sender As Object, ByVal e As

By Jeff Atwood ·
Comments