diff options
Diffstat (limited to '')
-rw-r--r-- | wp-includes/Requests/src/Exception/InvalidArgument.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/wp-includes/Requests/src/Exception/InvalidArgument.php b/wp-includes/Requests/src/Exception/InvalidArgument.php new file mode 100644 index 0000000..0ab7332 --- /dev/null +++ b/wp-includes/Requests/src/Exception/InvalidArgument.php @@ -0,0 +1,41 @@ +<?php + +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 + ) + ); + } +} |