C でのすべての例外のキャッチ
Java では、try-catch ブロックを使用すると、開発者は例外を適切に処理できます。 catch (Throwable t) ステートメントはすべての例外をキャッチします。同様に、C では、次のコード ブロックがすべての例外をキャッチします。
<code class="cpp">try { // ... } catch (...) { // ... }</code>
このメカニズムはデバッグ目的には役立つかもしれませんが、一般に設計が悪いと考えられています。 C では、特定の例外をキャッチし、それに応じてそれぞれを処理することが望ましいです。
ただし、書き換えが必要なレガシー コードを使用している場合、または C 11 std::current_Exception メカニズムを使用できない場合は、次のようにすることができます。既知の例外に対して個別の catch 句を追加し、予期しない例外を最後にキャッチします。
<code class="cpp">try { // ... } catch (const std::exception& ex) { // ... } catch (const std::string& ex) { // ... } catch (...) { // ... }</code>
そうすることで、発生した特定の例外を特定し、適切に処理できます。
以上がここでは、広範なものから具体的なものまで、いくつかのタイトル オプションを示します。 大まかに: * C で例外を処理する方法: すべてをキャッチするか、特定の例外だけをキャッチするか? * C での例外処理: E をキャッチするためのベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。