3
例外階層の理論はありますか?
私は、何らかの方法で例外を持っている多数のプログラミング言語に精通していますが、2つの「病的な」傾向を目の当たりにしました。 例外の一般的なパターンや階層はないようです。基本的にすべての言語は独自のバージョンをロールし、例外が標準になった場合、標準で見つかる例外の種類はかなりarbitrary意的です(ほとんどの場合、ソースコードの読み取りなど、言語ツールの作成中に実装された例外デバッガーを起動するための文字列または例外、またはファイルが見つからない場合に発生する例外など) 言語で定義された例外がユーザープログラムで再利用されることはほとんどありません。通常、1つまたは2つの一般的な例外があります(たとえば、「実装しない」)。ほとんどの場合、プログラマは独自の例外を作成します。(たとえば、これを新しい数値型または新しいコレクション型の作成と比較してください)。 これは私にとってひどい省略のようです。ユーザープログラムでどのような種類のエラーが必要になるのか、誰も知りません。私は、数値型、コレクション、オブジェクトシステムなどに似た一種の素晴らしい階層が存在することを望んでいました。 さらに悪いことに、GoolgeとWikipediaはこの問題に関してほとんど助けを提供していません。これまでのところ、機能の例外に関する論文を見つけただけです。 このペーパーでは、遅延関数型プログラミングは組み込みの例外処理メカニズムを不要にするだけでなく、例外を使用するプログラムを開発および変換するための強力なツールを提供すると主張します。 (例外の機能理論、Mike Spivey、1988) しかし、例外は良いと思います。例外を使用するプログラムを変換したくはありません。逆に、例外の使用を無秩序にしたいのです。 質問: 例外の理論はありますか?もしそうなら、それは何と呼ばれていますか?基礎となるものは、もしあれば、その基礎となるものは何ですか?