Liskov置換原則に違反するAPIを使用しています。これは、Exceptionを拡張する独自のExceptionタイプをスローしますが、基本クラスからの例外メッセージを新しいErrorCodeフィールドに入れ、独自の(役に立たない)メッセージをMessageフィールドに入れます。したがって、正しいメッセージを表示するには、例外をDerivedExceptionタイプにキャストし、ErrorCodeフィールドを使用する必要があります。例外オブジェクトとして扱うと、間違ったメッセージが表示されます。
これは文体レベルで私を苛立たせますが、回避するのは簡単です。DerivedExceptionをキャッチして、プログラマーが意図したとおりに使用できます。だから私の質問はこれです:リスコフの原則についての大したことは何ですか?原則に違反する階層を使用して人々が遭遇する可能性のある実際的な問題は何ですか?