3v4l.org

run code in 500+ PHP versions simultaneously
<?php class MyDbException extends Exception {} class DB { public function __construct() { $this->checkConnection(); } public function checkConnection() { try { $this->connect(); } catch (PDOException $e) { throw new MyDbException('Error during connection check', 42, $e); } } public function connect() { // Здесь будет подключение к Oracle DB через PDO throw new PDOException("SQLSTATE[28000] [1045] Access denied for user 'user'@'example.com' (using password: YES)"); } } function connectToDb() { try { $db = new DB; // ... } catch (MyDbException $e) { echo $e->getMessage(), ':', PHP_EOL, $e->getPrevious()->getMessage(), PHP_EOL; } catch (Exception $e) { echo $e->getMessage(), PHP_EOL; } } connectToDb();
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Error during connection check: SQLSTATE[28000] [1045] Access denied for user 'user'@'example.com' (using password: YES)

preferences:
113.46 ms | 1511 KiB | 4 Q