上級 › enumのfrom()に存在しない値を渡すと ValueError になる › パターン2
enumのfrom()に存在しない値を渡すと ValueError になる
バックドenum(値を持つenum)のfrom()メソッドは、対応するcaseが存在しない値を渡すとValueErrorを投げます。
1 <?php 2 enum Level: int { 3 case Low = 1; 4 case High = 2; 5 } 6 $l = Level::from(__); ^ 7 echo $l->name;
Fatal error: Uncaught ValueError: 3 is not a valid backing value for enum Level in main.php:6
空欄を埋めて実行を通す
Levelには3というcaseがありません。from()は該当するcaseが無い値でValueErrorになります。定義済みの1か2を渡す必要があります。
次の問題