ようなサブタイプを作るからです。チェックは新しい継承したクラスでもうまく機能し続けます。それは将来を保証します。それを再度スローすることも重要です。バリデーションと構文エラーの処理の仕方だけを知っています。他の種類(コード中のタイポやその他)の場合は失敗します。クラスはとても汎用的です。文字列値のような)であるかもしれません。欠落しているプロパティについての追加の情報を保持します。プロパティ名を渡すだけです。PropertyRequiredError(property)。コンストラクタで作られます。再度手動で割り当てられることに注意してください。