Spaces:
Sleeping
Sleeping
namespace WpOrg\Requests\Exception; | |
use InvalidArgumentException; | |
/** | |
* Exception for an invalid argument passed. | |
* | |
* @package Requests\Exceptions | |
* @since 2.0.0 | |
*/ | |
final class InvalidArgument extends InvalidArgumentException { | |
/** | |
* Create a new invalid argument exception with a standardized text. | |
* | |
* @param int $position The argument position in the function signature. 1-based. | |
* @param string $name The argument name in the function signature. | |
* @param string $expected The argument type expected as a string. | |
* @param string $received The actual argument type received. | |
* | |
* @return \WpOrg\Requests\Exception\InvalidArgument | |
*/ | |
public static function create($position, $name, $expected, $received) { | |
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace | |
$stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); | |
return new self( | |
sprintf( | |
'%s::%s(): Argument #%d (%s) must be of type %s, %s given', | |
$stack[1]['class'], | |
$stack[1]['function'], | |
$position, | |
$name, | |
$expected, | |
$received | |
) | |
); | |
} | |
} | |