広告スペース(バナー)
🍎Objective-C レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 50 / 68

@try/@catch/@finallyで後片付け処理をしよう

このレッスンでは、Objective-Cの@try/@catch/@finallyを使った後片付け処理の書き方を学び、エラーの有無にかかわらず必ず実行したい処理を書けるようになることを目標にします。「Objective-C @finally 使い方」で調べている方向けです。

@finallyブロックは、例外が発生してもしなくても必ず実行される後片付け用のブロックです。ファイルを閉じたり、処理の終了を知らせたりするのに使います。

サンプルコードでは、divide()関数の中で0による割り算のエラーを@throwで発生させ、@catchで受け止めています。@finallyブロックで「計算処理を終了します」というメッセージを、エラーの有無にかかわらず必ず表示しています。

初心者がよくつまずくのが、Objective-Cでは例外処理があまり頻繁には使われない点です。多くの場合、NSErrorという別の仕組みでエラーを扱うのがiOS開発の慣習で、@finallyもそれほど頻出する構文ではありません。

実際の開発現場では、致命的なバグの検出のような限定的な場面で例外処理が使われ、通常のエラー処理にはNSErrorが好まれます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではObjective-Cを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
エラーが起きても必ず後片付けが行われる、安全な処理が書けるようになります。
広告スペース(バナー)
広告スペース(記事内)