I'd be tempted to use InvalidOperationException
- or some other exception which you wouldn't explicitly catch. Give it a message which indicates that you really didn't expect to get here. This is a "world is seriously broken" failure. InvalidOperationException
doesn't quite capture this, but I can't think of a better one offhand. You could always create your own exception to use throughout your codebase, of course.
Don't just return a value, as otherwise you'll never find out if your world is upside-down.