Markus Malkusch: > The try-finally scenario involves only one supressed > exception. I'd like to see a possibility to add more supressed > exceptions
Actually try-finally can already involve several supressed exceptions as well: try { throw new Exception("Exception 1"); } finally { try { throw new Exception("Exception 2"); } finally { throw new Exception("Exception 3"); } } So in this scenario I exception 3 will be the resulting exception and as already defined within your mail exception 2 should be its supressed exception. But what about exception 1? This could now be the supressed exception of exception 2 or added to the list of supressed exceptions of exception 3. I'd argue *adding* it to the resulting exception of the finally block makes the most sense. This would be exception 3 in this case and therefore needs to be a list. Why does this make more sense. I'd argue it's more expected and intuitive, as exception 2 is optional. Just consider a similar case without exception 2: try { throw new Exception("Exception 1"); } finally { try { } finally { throw new Exception("Exception 3"); } } In this case the only place for the suppressed exception 1 can be exception 3. For consistency and simplicity I'd therefore suggest that a Throwable has a list of supressed exceptions and a suppressed exception is always added to the resulting exception of a finally block. Markus Malkusch -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php