|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2013-01-03 16:33 UTC] mattsch at gmail dot com
 
-Status: Open
+Status: Closed
  [2013-01-03 16:33 UTC] mattsch at gmail dot com
 | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 09:00:01 2025 UTC | 
Description: ------------ php core classes have no way of continuing the exception chain. If we are to have proper exception chaining as implemented in the exception class in php 5.3, we should also have the ability to continue the exception chain within php core classes to make debugging easier. Test script: --------------- <?php class MyCustomException extends Exception {} function doStuff() { try { throw new InvalidArgumentException("You are doing it wrong!", 112); } catch(Exception $e) { try { $pdo = new PDO('foo', 'foo', 'bar', array()); // exception chain lost // $pdo = new PDO('foo', 'foo', 'bar', array(), $e); // needs additional previous exception parameter } catch (Exception $ex) { throw new MyCustomException("Something happened", 911, $ex); } } } try { doStuff(); } catch(Exception $e) { do { printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e)); } while($e = $e->getPrevious()); } Expected result: ---------------- Expected result: ---------------- foo.php:13 Something happened (911) [MyCustomException] foo.php:10 invalid data source name (0) [PDOException] foo.php:7 You are doing it wrong! (112) [InvalidArgumentException] Actual result: -------------- Actual result: -------------- foo.php:13 Something happened (911) [MyCustomException] foo.php:10 invalid data source name (0) [PDOException]