TDD and "Unexpected errors"

When working on projects, it's common to see messages like "The website encountered an unexpected error. Please try again later.".

Usually, this is the message shown to the user, whilst a more detailed error message is logged for Developers to diagnose and fix the underlying error.

The wording "unexpected error" has been intriguing to me, though. When do you expect an error?

The best example I can think of for an expected error is when doing test-driven development.

When doing TDD, you want to see an error to start as you start with a failing test.

Then, you write the code to remove the error and get the test passing.