Code Fix

上級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

空欄を埋めて実行を通す

広告
広告スロット(未設定)

enumのfrom()に存在しない値を渡すと ValueError になる

外部からの入力値をそのままfrom()に渡す場合は、事前の検証やtryFrom()の利用が必要です。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)