Hi Luke, that was my idea. Perhaps if you think it this way it may make more sense:

This method being named ```DisplayEngineFailureMessage``` because it was designed to display a generic message when the virtual machine fails and no one catches the exception. While that is the case for most other unhandled/generic ```Exception```, the user facing message can contain more details if we do know that the exception is of a particular type.

Pretty much like chaining ```catch``` clauses one after another, each handling more specific exception types. Does that make this code more reasonable now? :)