Looks more like a mapping exception to me - mappings cannot be retrieved here, and the argument is not given by the user itself.

Also, move the message generation to a static method of the exception class:

```php
public static function nonExistingClass($className) 
{
    return new self(sprintf(...));
}
```