rfc:switch_expression

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
rfc:switch_expression [2020/03/28 15:25] – Delete extra opening parenthesis guilliamxavierrfc:switch_expression [2020/03/28 21:37] – Replace InvalidArgumentException with UnhandledSwitchCaseError ilijatovilo
Line 138: Line 138:
 </code> </code>
  
-The unexpected value will go unnoticed until the program crashes in a weird way, causes strange behavior or even worse becomes a security hole. Many languages can check if all the cases are handled at compile time or force you to write a ''default'' case if they can't. For a dynamic language like PHP the only alternative is throwing an exception. We can't reasonably change the exhaustiveness behavior in the ''switch'' statement because it would break a lot of code. The ''switch'' expression resolves this issue by throwing an ''InvalidArgumentException'' if the condition isn't met for any of the cases and the ''switch'' doesn't contain a ''default'' case.+The unexpected value will go unnoticed until the program crashes in a weird way, causes strange behavior or even worse becomes a security hole. Many languages can check if all the cases are handled at compile time or force you to write a ''default'' case if they can't. For a dynamic language like PHP the only alternative is throwing an error. We can't reasonably change the exhaustiveness behavior in the ''switch'' statement because it would break a lot of code. The ''switch'' expression resolves this issue by throwing an ''UnhandledSwitchCaseError'' if the condition isn't met for any of the cases and the ''switch'' doesn't contain a ''default'' case.
  
 <code php> <code php>
rfc/switch_expression.txt · Last modified: 2020/04/12 00:04 by ilijatovilo