例外処理は,プログラム実行中に発生しうる不測の事態(例外)に対処するための処理のことです。 例えば,ある関数(あるいはメソッド,以下同)内で例外が発生したときの対処方法として,関数の返り値として例外の種類に応じた値を返す方法があります。関数の呼び出し元は,関数の返り値をチェックすることによって,例外の種類に応じた処理を行うわけです。 この方法はわかりやすいのですが,あらゆる例外に対処しようとすると,関数の呼び出し元で返り値をチェックするためのコードが煩雑になるという問題点があります。チェックのためのコード量がプログラム本来の処理以上にふくれ上がり,プログラムの見通しが悪くなることもしばしばです。 そこで,最近のプログラム言語の多くは,例外処理を簡潔に記述できる「構造化例外処理(SEH:Structured Exception Handling)」の機能を備えています。関数には,不測の事態が起こったときには「例外オブジェクト」を生成することで外部に例外の発生を知らせる仕組みを作り込んでおきます。 例えば,C++,Java,C#などは,try,catch,finallyという三つのキーワードを使った構文で構造化例外処理を記述できます。 まず,例外が発生する可能性があるコードをtryブロックでくくって記述します。正常に処理が進めばそのままtryブロックを抜けます。一方,tryブロックのどこかで例外が発生すると,その時点でtryブロック内の処理は中断し,制御がcatchブロックに移ります。 catchブロックは,tryブロック内のいずれかのコードが生成した例外オブジェクトを引数として受け取り,発生した例外の種類に応じて対処します。例外が発生しなければ処理は正常に終了したと見なせるので,例外の発生をいちいちチェックしたり,対処するためのコードを大幅に削減できます。 finallyブロックはあってもなくてもよく,tryブロックの処理が正常に終了するか,あるいはtryブロックで例外が発生してcatchブロックの処理が終わるかした後に実行されます。例えば,tryブロック内にファイルを開く処理がある場合,そのファイルを閉じる処理をfinallyブロックに記述すれば,例外が発生してもしなくても,最後に必ずファイルを閉じる処理が実行されます。 |
例外処理
【Exception Handling】
あなたにお薦め
今日のピックアップ
-
データ統合に欠かせないApache Airflow、どのような企業にマッチするのか
-
DXに必要な人材はデジタル人材にあらず、そんな単純な理屈も分からない経営者の愚
-
「起動しない」「つながらない」、基本的なiPhoneトラブルはここを疑え
-
Windows 11のクリーンインストールに注意、10アップデートよりアプリが少ない
-
業務を停滞させない「快ストレス」、NTTPCらがバイタルデータから新知見
-
高性能Androidタブレットが復活、グーグルが「Pixel Tablet」で再参入した事情
-
18万円の超ハイエンドモデル「Galaxy S22 Ultra」、残念に思った3つのポイント
-
Linuxでお仕事改善、物忘れ防止やファイル管理に役立つツール
-
ビットコインで商品対価の支払いが可能に、「暗号資産決済」とは
-
成功企業が抱えるジレンマとその解消法、テクノロジーとディープイシューを行き来せよ
-
基本情報技術者試験が1969年発足以来の「大改訂」、どうなる難易度
-
竹中工務店がAWS上に全社DX基盤、2022年度中に「全業務デジタル化」へ
おすすめのセミナー
-
CIO養成講座 【第31期】
業種を問わず活用できる内容、また、幅広い年代・様々なキャリアを持つ男女ビジネスパーソンが参加し、...
-
2日間集中講座 実践型データサイエンティスト育成塾
受講で使用するBIツールインストール済みのパソコンとテキストは、受講日前に受講者の方宛にお届け。...
-
無線への新たなニーズに対応するアンテナの設計
アンテナの基本技術の解説に加え、無線への新たなニーズについての対策を、セミナー会場だから聞ける内...
-
オンライン版「なぜなぜ分析」演習付きセミナー実践編
このセミナーでは「抜け・漏れ」と「論理的飛躍」の無い再発防止策を推進できる現場に必須の人材を育成...
-
ITリーダー養成180日実践塾 【第12期】
8回のセミナーでリーダーに求められる“コアスキル”を身につけ、180日間に渡り、講師のサポートの...
-
目的思考のデータ活用術
「ワンテーマだけでなくデータ活用のスタートから課題解決のゴールまで体系立てて学びたい」というニー...
-
業務改革プロジェクトリーダー養成講座【第12期】
3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...
-
ITベンダーのためのCIO養成講座【第1期】
ITとデジタル技術の活用に関するグローバルスタンダードと先進事例の研究成果、講師の実務知見を体系...
注目のイベント
-
関西デジタルイノベーション 2022
2022年5月26日(木)~27日(金)
-
WOMAN EXPO 2022
2022年5月28日(土)
-
コンテナSummit 2022
2022年5月31日 午後1時~午後3時50分
-
DX時代に企業を守る。あなたの会社も狙われている
2022年5月31日 午後2時~午後3時50分
-
DX Insight 2022「2025年の崖」の克服とDX加速
2022年6月2日(木)、6月3日(金)
-
名古屋デジタルイノベーション 2022
2022年6月8日(水)~9日(木)
-
付加価値ある意匠デザインを実現するものづくり技術2022
2022年6月9日(木) 午前10時30分~午後5時
-
人工知能サミット2022 製造業編
2022年6月10日(金) 午後1時30分~午後3時55分
-
ローコード・ノーコード/超高速開発セミナー2022
2022年6月13日(月) 午前10時~午後5時5分
-
ITイノベーターズ会議 PoCで終わらせない!CX向上に効くデジタル戦略 東京海上日動火災、変革リーダー40人に学ぶDXの本質
2022年6月14日(火)13:00-17:40
おすすめの書籍
-
さわって学べるPower Platform ローコードアプリ開発ガイド
体験こそ習得の近道!マイクロソフトのローコード開発ツール「Power Platform」に含まれ...
-
これ1冊で丸わかり 完全図解 ネットワーク管理入門
日経NETWORKに掲載したネットワーク管理に関連する主要な記事をまとめた1冊です。文章を読むだ...
-
Web世代が知らないエンタープライズシステム設計
本書は長年の経験を持つプロたちが、データモデリングの知見を中心に16の視点から、実践的なシステム...
-
Google Cloud エンタープライズIT基盤設計ガイド
企業システムに関わる人が知っておくべきGoogle Cloudのサービスを網羅的に分かりやすく解...
-
中国EV市場調査 技術動向・サプライヤー分析
中国EVへの参入に必須の知識とデータを一冊に凝縮。主要電動部品の「電池」「モーター」「インバータ...
-
攻めのデータ活用の「つまずきポイント」に備える49のチェックリスト
AI(人工知能)の利用や斬新なインターネットサービスなど、「攻めのデータ活用」に取り組む際に、コ...