例外処理は,プログラム実行中に発生しうる不測の事態(例外)に対処するための処理のことです。 例えば,ある関数(あるいはメソッド,以下同)内で例外が発生したときの対処方法として,関数の返り値として例外の種類に応じた値を返す方法があります。関数の呼び出し元は,関数の返り値をチェックすることによって,例外の種類に応じた処理を行うわけです。 この方法はわかりやすいのですが,あらゆる例外に対処しようとすると,関数の呼び出し元で返り値をチェックするためのコードが煩雑になるという問題点があります。チェックのためのコード量がプログラム本来の処理以上にふくれ上がり,プログラムの見通しが悪くなることもしばしばです。 そこで,最近のプログラム言語の多くは,例外処理を簡潔に記述できる「構造化例外処理(SEH:Structured Exception Handling)」の機能を備えています。関数には,不測の事態が起こったときには「例外オブジェクト」を生成することで外部に例外の発生を知らせる仕組みを作り込んでおきます。 例えば,C++,Java,C#などは,try,catch,finallyという三つのキーワードを使った構文で構造化例外処理を記述できます。 まず,例外が発生する可能性があるコードをtryブロックでくくって記述します。正常に処理が進めばそのままtryブロックを抜けます。一方,tryブロックのどこかで例外が発生すると,その時点でtryブロック内の処理は中断し,制御がcatchブロックに移ります。 catchブロックは,tryブロック内のいずれかのコードが生成した例外オブジェクトを引数として受け取り,発生した例外の種類に応じて対処します。例外が発生しなければ処理は正常に終了したと見なせるので,例外の発生をいちいちチェックしたり,対処するためのコードを大幅に削減できます。 finallyブロックはあってもなくてもよく,tryブロックの処理が正常に終了するか,あるいはtryブロックで例外が発生してcatchブロックの処理が終わるかした後に実行されます。例えば,tryブロック内にファイルを開く処理がある場合,そのファイルを閉じる処理をfinallyブロックに記述すれば,例外が発生してもしなくても,最後に必ずファイルを閉じる処理が実行されます。 |
例外処理
あなたにお薦め
今日のピックアップ
-
過去を生かせなかったマイナンバーカードの混乱、次なる失策を防げるか
-
Microsoft 365に追加された「フィード」、関わりのあるコンテンツを発見しやすく
-
ネットワンが新拠点、明るいオフィスに「歴史部屋」をつくった意味
-
青梅市の育児支援活動でサポート詐欺の被害に、約1700人の個人情報が流出か
-
約10年で4倍以上、IT業界への女性の転職が増えている理由
-
薄型・軽量、IT辛口評論家が使うパソコンスタンドはこれだ
-
国の標準仕様で3市相乗り、倉敷市と松山市が先行してガバクラで自治体初の本稼働
-
「DXで閉塞感を打破」、ZHD川邊会長が示す脱・デジタル後進国の道筋とは
-
光ディスクの劣化をチェック、エラーが多いなら速やかにバックアップしよう
-
ChatGPTで広告会社の組織激変、サイバーでは30人以上いたディレクターがゼロに
-
AWSは全方位・Googleは二刀流、始まったエンジニアの争奪戦
-
劣化した光ディスクはなぜ読めなくなるのか、金属系素材では寿命1000年をうたう
注目記事
おすすめのセミナー
-
CIO養成講座 【第33期】
業種を問わず活用できる内容、また、幅広い年代・様々なキャリアを持つ男女ビジネスパーソンが参加し、...
-
部下との会話や会議・商談の精度を高める1on1実践講座
このセミナーには対話の精度を上げる演習が数多く散りばめられており、細かな認識差や誤解を解消して、...
-
目的思考のデータ活用術【第2期】
「ワンテーマだけでなくデータ活用のスタートから課題解決のゴールまで体系立てて学びたい」というニー...
-
生成AIを企業・組織で安全に利活用するための勘所
ChatGPTなど生成AIサービスを、自社・組織のスタッフに安全かつ積極的に活用させる立場の方を...
-
ITリーダー養成180日実践塾 【第13期】
8回のセミナーでリーダーに求められる“コアスキル”を身につけ、180日間に渡り、講師のサポートの...
-
IT法務リーダー養成講座
システム開発・運用に関するもめ事、紛争が後を絶ちません。それらの原因をたどっていくと、必ず契約上...
-
業務改革プロジェクトリーダー養成講座【第14期】
3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...
-
アンテナ設計で職人博士の極意を伝授
経験から得たアンテナ設計に必要な式や概念を絞り込み、基本的な線状アンテナと平面アンテナの設計方法...
注目のイベント
-
DX Insight 2023 Summer「2025年の崖」克服とDX加速
2023年6月1日(木)~2日(金)
-
6月1日ウェビナー開催「ChatGPTは我々の仕事をいかに変えるのか?」
2023年6月1日(木)
-
付加価値ある意匠デザインを実現するものづくり技術2023
2023年6月2日(金)10:30 ~ 17:00
-
日経クロステックNEXT 関西 2023
6月8日(木)~6月9日(金)
-
ITイノベーターズ会議 製品・サービス強化とCX向上に効くデジタル変革の本質
2023年6月8日(木)13:00-17:30
-
WOMAN EXPO 2023
2023年6月10日(土)
-
【6月15日】ITインフラの運用管理を合理化、最新ツールの実力を60分で学ぶ
2023年6月15日
-
Digital Foresight Summer 2023
2023年6月15日(木)、6月20日(火)、6月22日(木)、7月4日(火)、7月6日(木)、7月11日(火)、7月13日(木)、7月18日(火)、7月20日(木)、7月25日(火)、7月27日(木)8月1日(火)、8月3日(木)16:00~17:00(予定)
-
SX/DX/GX Summit
2023年6月22日(木)~23日(金)
-
ローコード・ノーコード/超高速開発 セミナー 2023
2023年 6月 22 日(木) 10:00~16:30
おすすめの書籍
-
IT職場のトラブル対処 決定版
人手不足に悩み、働き方改革の必要性が問われるIT企業。ホワイト職場になるために解消すべき身近な職...
-
実践!ウェルビーイング 世界最強メソッド「ビジョン・ゼロ」
企業におけるウェルビーイングとは何かを解き明かし、ウェルビーイングを実践するための最強メソッドで...
-
サイゼリヤ元社長がおすすめする図々しさ リミティングビリーフ 自分の限界を破壊する
堀埜氏の幼少期から大学・大学院時代、最初の勤め先である味の素での破天荒な社員時代、サイゼリヤで数...
-
Amazon Web Services基礎からのネットワーク&サーバー構築改訂4版
代表的なクラウドサービス「Amazon Web Services」を実機代わりにインフラを学べる...
-
実践DX クラウドネイティブ時代のデータ基盤設計
データ基盤のクラウド化に際して選択されることの多い米アマゾン・ウェブ・サービスの「Amazon ...
-
イノベーションのジレンマからの脱出 日本初のデジタルバンク「みんなの銀行」誕生の軌跡に学ぶ
「みんなの銀行」という日本初のデジタルバンクをつくった人たちの話です。みんなの銀行とは、大手地方...