Currently, PHP requires to capture the exception being caught to a variable:
try { foo(); } catch (SomeException $ex) { die($ex->getMessage()); }
However, you need to specify the variable even if it's not used:
try { changeImportantData(); } catch (PermissionException $ex) { echo "You don't have permission to do this"; }
Someone reading the above code is left to wonder if the author intended to not use the exception variable or it's a bug.
Allow catching exceptions without capturing them to variables:
try { changeImportantData(); } catch (PermissionException) { // The intention is clear: exception details are irrelevant echo "You don't have permission to do this"; }
Such change was first proposed in this RFC 7 years ago. It was turned down mostly because it also wanted to allow blanket catches like this:
try { foo(); } catch { bar(); }
Meanwhile what I'm proposing here has received mostly positive feedback so I feel it's worth revisiting.
None.
8.0
None.
Voting started on 2020-05-10 and will end on 2020-05-24 at 9:00 UTC.
After the project is implemented, this section should contain
* https://externals.io/message/109550 - initial announcements
Keep this updated with features that were discussed on the mail lists.