diff --git a/includes/page/PageAssertionException.php b/includes/page/PageAssertionException.php new file mode 100644 index 00000000000..efd2b432e5e --- /dev/null +++ b/includes/page/PageAssertionException.php @@ -0,0 +1,59 @@ +normalizedMessage = $normalizedMessage; + $this->messageContext = $messageContext; + parent::__construct( + self::getMessageFromNormalizedMessage( $normalizedMessage, $messageContext ), + $code, + $previous + ); + } +} diff --git a/includes/page/WikiPageFactory.php b/includes/page/WikiPageFactory.php index 01d96328044..318582fd489 100644 --- a/includes/page/WikiPageFactory.php +++ b/includes/page/WikiPageFactory.php @@ -3,7 +3,6 @@ namespace MediaWiki\Page; use DBAccessObjectUtils; -use InvalidArgumentException; use MediaWiki\Linker\LinkTarget; use MediaWiki\Page\Hook\WikiPageFactoryHook; use stdClass; @@ -57,8 +56,9 @@ class WikiPageFactory { if ( !$pageIdentity->canExist() ) { // BC with the Title class - throw new InvalidArgumentException( - "The given PageIdentity does not represent a proper page" + throw new PageAssertionException( + 'The given PageIdentity {pageIdentity} does not represent a proper page', + [ 'pageIdentity' => $pageIdentity ] ); }