上級 › enumのfrom()に存在しない値を渡すと ValueError になる › パターン3
enumのfrom()に存在しない値を渡すと ValueError になる
バックドenum(値を持つenum)のfrom()メソッドは、対応するcaseが存在しない値を渡すとValueErrorを投げます。
1 <?php 2 enum Currency: string { 3 case Yen = 'JPY'; 4 case Dollar = 'USD'; 5 } 6 $c = Currency::from(_____); ^ 7 echo $c->name;
Fatal error: Uncaught ValueError: "EUR" is not a valid backing value for enum Currency in main.php:6
空欄を埋めて実行を通す
CurrencyにEURというcaseは定義されていません。定義済みの値(JPYやUSD)を渡す必要があります。
次の問題