Code Fix

上級enumのfrom()に存在しない値を渡すと ValueError になる › パターン1

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

バックドenum(値を持つenum)のfrom()メソッドは、対応するcaseが存在しない値を渡すとValueErrorを投げます。

 1  <?php
 2  enum Status: string {
 3      case Active = 'active';
 4      case Inactive = 'inactive';
 5  }
 6  $s = Status::from(_________);
                          ^
 7  echo $s->value;
Fatal error: Uncaught ValueError: "pending" is not a valid backing value for enum Status in main.php:6

空欄を埋めて実行を通す

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

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

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

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

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