Actually, the better description is "Exception thrown when invalid method name is called." The use case for `BadMethodCallException` is for throwing within a `__call()` method when a class does not define a virtual method.