私はそれをよく理解していることを確認しています。正しいスキーマは正しいですか?最も具体的な例外をキャッチして、キャッチブロックの最後に一般的なキャッチを使用して、より広い例外をキャッチします。キャッチブロックの順序は重要ですか?
try
{
some code
}
catch(SomeSpecificException ex)
{
}
catch(LessSpecificException ex)
{
}
catch
{
//some general exception
}
はい、それが正しい順序です。 –
http://stackoverflow.com/questions/3960259/catching-exceptions-c/3960283#3960283の複製? – sloth
「より具体的でない」とは、「より具体的ではない例外クラスから導出された」という場合は「はい」です。しかし、一方が他方から継承しない場合は、あなたが望む順序でそれらを入れることができます。あなたは、 'FileNotFoundOnAnyServerException'が' FileNotFoundException'よりも本質的により具体的であると主張できます。しかし、 'FileNotFoundException'を継承しなければ、競合の危険はないので、コンパイラは気にしません。 – Flater