updateSpecialPages.php runs QueryCache::recache() for each special page being updated, with the $ignoreErrors parameter set to true (the default).
I don't blame it for trying, only for failing. While this successfully swallows the original error, the script will immediately fail anyways with DBTransactionStateError:
✗ php maintenance/updateSpecialPages.php --only=Deadendpages Deadendpages [QueryPage] FAILED: database error [75a40936e82be293f6b978fb] [no req] Wikimedia\Rdbms\DBTransactionStateError: Cannot execute query from Wikimedia\Rdbms\Database::ping while transaction status is ERROR Backtrace: from mediawiki/includes/libs/rdbms/database/Database.php(1521) #0 mediawiki/includes/libs/rdbms/database/Database.php(1237): Wikimedia\Rdbms\Database->assertQueryIsCurrentlyAllowed(string, string) #1 mediawiki/includes/libs/rdbms/database/Database.php(4870): Wikimedia\Rdbms\Database->query(string, string, integer) #2 mediawiki/includes/libs/rdbms/database/Database.php(723): Wikimedia\Rdbms\Database->ping(NULL) #3 mediawiki/includes/libs/rdbms/database/Database.php(711): Wikimedia\Rdbms\Database->pingAndCalculateLastTrxApplyTime() #4 mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1745): Wikimedia\Rdbms\Database->pendingWriteQueryDuration(string) #5 mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(2255): Wikimedia\Rdbms\LoadBalancer::Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseMysqli) #6 mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1761): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure) #7 mediawiki/includes/libs/rdbms/lbfactory/LBFactory.php(247): Wikimedia\Rdbms\LoadBalancer->approveMasterChanges(array, string, integer) #8 mediawiki/includes/libs/rdbms/lbfactory/LBFactorySimple.php(145): Wikimedia\Rdbms\LBFactory::Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array) #9 mediawiki/includes/libs/rdbms/lbfactory/LBFactory.php(249): Wikimedia\Rdbms\LBFactorySimple->forEachLB(Closure, array) #10 mediawiki/includes/libs/rdbms/lbfactory/LBFactory.php(308): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array) #11 mediawiki/maintenance/includes/Maintenance.php(1267): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string) #12 mediawiki/maintenance/doMaintenance.php(134): Maintenance->shutdown() #13 mediawiki/maintenance/updateSpecialPages.php(180): require_once(string)
Considering that this is one of the transaction misuse errors featured in the guidelines, it'd probably be better to just let the original error bubble up. It'd also help provide information as to what kind of error occurred - currently, the original error isn't even logged, which makes debugging difficult.