I like the very specific exception and text used here, this is really helpful to callers when debugging.