「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

エクセプション

pointこの用語のポイント

pointエラーだよ

point想定内だよ

point実際には いろいろな解釈があるよ

スポンサーリンク

簡単に書くよ

エクセプション(英:exception)とは

「例外」のこと。
用語の中身としては

(想定内の)エラーのこと
です。
もう少し具体的に書くと

「やべっ、予定と違うんだけど!(まぁ、想定していたけどね)」な状況・状態のこと
です。


image piyo

詳しく書くよ

最初に留意事項です。
例外」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
「例外」をカタカナ呼びしたのが「エクセプション」です。

エクセプション

以上が「例外」の意味を知っている人向けの説明です。

「例外?それ何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。
まずは予備知識として「エラー」について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

エラーは「想定外の事態になっちゃったよ~」です。
えらいこっちゃ、ですね。

エクセプション2

「想定外」と言いつつ、実際のプログラムでは想定しておかないといけません。
「エラーが発生したら、どうするか?」は、あらかじめ考えて対処を組み込んでおく必要があります。

そのため、エラーは2種類に分けられます。

1.想定内のエラー
2.想定外のエラー


の2つです。

例えば、そうですね。

ピヨ太君が運動会に参加しようとしたとしましょう。

エクセプション3

ところがどっこい、雨が降って中止になりました。

エクセプション4

運動会をやるはずだったのが、やれていません。

これを実際のプログラムで考えてみましょう。
処理は「運動会をやる」です。

実際には運動会をやれていません。
雨が降った状況は「エラーが発生した」と言えるでしょう。

ただし、雨が降ることは想定できました。
ですから「雨が降ったら、どうするか?」を事前に決めてあります。

つまり、雨が降ったのは「想定内のエラー」です。

さて、今回は雨が降った結果、運動会が中止になりました。
これは「想定内のエラー」です。

エクセプション5

それでは、雨ではなく槍が降ったら、どうでしょうか?

エクセプション6

槍が降っても運動会は中止になるでしょう。
それは良いとして、槍が降るなんて状況は想像できませんよね?

誰も「槍が降ったら、どうするか?」なんて考えていないでしょう。
槍が降った状況は「想定外のエラー」と言えます。

エクセプション7

このように、一口に「エラー」と言っても、実際には

1.想定内のエラー
2.想定外のエラー


の2種類あるのです。

以上を踏まえて、本題に入ります。

ズバリ!

想定外の事態になっちゃったよ~

が「エクセプション」です。
つまり「エラー」と同じような意味ですね。

エクセプション8

あるいは

想定外の事態になっちゃったよ~。実際には想定していたけどね

がエクセプションです。
つまり「想定内のエラー」と同じような意味ですね。

エクセプション9

ちなみに、上でも書きましたが、エクセプションは「例外」と表現されることも あります。
というか、個人的には「例外」と表現されることの方が多いと思っています。
せっかくなので併せて覚えてあげてください。

エクセプション10

実は「エクセプション」という用語には微妙にニュアンスの違う複数の解釈があります。

私自身は「想定内のエラーがエクセプションじゃないかな?」と思っています。

それぞれの用語を英語で書くと

エラー:error
エクセプション:exception


です。
(日本語に翻訳したときの解釈違いではなく)英語でも違うんだから、何か違うんじゃないの?」です。

また、プログラミング言語Javaではエラーとエクセプション(例外)は明確に区別されます。
Javaではエラー処理を「例外処理」と表現します。
そして、Javaにおいては例外処理を以下のように書きます。

try {

 //主処理

} catch (Exception e) {

 //エラー(エクセプション:例外)が発生したときにやる処理

}


「catch()」の部分で捕捉するのはエクセプションです。
「try{}」の中に書かれた処理でおかしいことが起きると「こんな感じのおかしいことが起きました!」な連絡が出されます。
その連絡を「catch()」の部分で捕捉して、何らかの処理をやります。
これがJavaにおける例外処理です。

ですが、ちょっと考えてみてください。
「こんな感じのおかしいことが起きました!」な連絡を出す余裕がないエラーだって起こり得ますよね。
連絡する暇もなくプログラムが終了しちゃうようなエラーです。
そんなエラーだってエラーはエラーです。

ということで、私はJavaにおけるエラーとエクセプションの違いを

エラー:想定外の予定外
エクセプション:想定内の予定外


のように解釈しています。

ただし、エラーにしろエクセプションにしろ「やべっ、予定と違うんだけど!」です。
そのため、エラーとエクセプションを同じものだとする解釈も間違いとは言えません。

さらに今挙げた2つの解釈とは別の解釈をする人もいます。

ややこしいですね。

「エラー」と「エクセプション」は使い分けがあいまいな用語のひとつです

ごちゃごちゃしたので整理します。
エクセプションの解釈には

1.エラー
2.想定内のエラー
3.それ以外の解釈


の3つがあります。
どの解釈が正しいのかは、おそらく誰も知りません。

「細かいことは、いらないよ!サクっと説明しろ!サクっと!」な人は

「エラー」と同じような意味の用語

と思ってください。
日常生活を送る分には、それで困ることは少ないはずです。


image piyo2

一言でまとめるよ

まぁ「エクセプション」って単語が出てきたら「(想定内の)エラーのことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像071
書籍画像013

おまけ

■訳してみるよ

「exception(エクセプション)」の意味は

・例外
・除外すること


とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Git&GitHub 入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践