ランタイムエラー
プログラムの実行時に発生したエラーだよ
プログラムが仕事を途中放棄するよ
原因は様々だよ
簡単に書くよ
ランタイムエラー(英:runtime error)とは
「実行時エラー」のこと。
用語の中身としては
プログラムの実行時(プログラムを動かしているとき)に発生するエラー
であり
プログラムさんが、お仕事を途中放棄するエラー
です。
詳しく書くよ
順番に見ていきましょう。
プログラムというのは一般的に、まず、人間語で元ネタ(ソースコード)を作ります。
人間語で書かれたプログラムの元ネタファイルは「ソースファイル」です。
次に「コンパイル」という作業を通して、コンピュータが分かる形に変換します。
これでコンピュータさんはプログラムの内容を理解できるようになりました。
あとは実際に動かすだけです。
これがプログラムができるまでの流れです。
以上を踏まえて
プログラムの実行時(動かしているとき)に発生するエラー
が「ランタイムエラー」です。
「実行時エラー」とも呼ばれます。
なお、ここで登場した「ランタイム」の意味は「プログラムとかを動かすとき(実行時)」です。
「run time(走る 時間)」で「runtime(ランタイム)」と解釈すると、覚えやすいと思います。
あと、ついでなので書いておくと、コンパイル時に発生するエラーは「コンパイルエラー(構文エラー、シンタックスエラー)」と言います。
気が向いたら、覚えてあげてください。
話をランタイムエラーに戻します。
ランタイムエラーが発生する原因は様々です。
プログラムの内容がおかしい場合もあれば、必要なファイルを人間様が消してしまった場合も、あるでしょう。
その他にも、いろいろな原因が考えられます。
注意点として、ランタイムエラーは、プログラムさんが「ヤバい!なんかおかしい!俺、もう力尽きるわ!」と自己申告してきたエラーです。
プログラムさん内部で解決できちゃうエラーは「ランタイムエラー」とは呼びません。
例えば、プログラムさんのお腹が痛くなったとしましょう。
調子に乗って、おやつのアイスを食べすぎたようです。
でも、大丈夫です。
このようなトラブルも想定して、正露○を用意してありました。
正露○を飲んだら腹痛も治まったようです。
気を取り直して、お仕事を続けました。
このような状態は「ランタイムエラー」とは言いません。
確かに異常は発生しましたが、それに備えてあって、お仕事を続けられたからです。
もう少し、実際のプログラムに近い例も挙げておきます。
例えば、設定ファイルを読み込んで動く2つのプログラム「ピヨ太プログラム」と「ピヨ子プログラム」が あったとしましょう。
ある日のことです。
ピヨ太ママが間違って、設定ファイルを捨ててしまいました。
さぁ、大変です。
お仕事を始めようとしたピヨ太プログラムですが、設定ファイルを見つけられません。
ピヨ太プログラムは「なんだよ~。これじゃ、仕事ができないじゃん。もう今日は休みだ!休み!」とふて寝してしまいました。
おそらく、ピヨ太プログラムの中身は、以下のようになっていたのでしょう。
1.設定ファイルを読み込む
2.設定ファイルが無ければエラー。ふて寝する
3.設定ファイルがあれば、あれやこれやの処理をする
この状況は
ピヨ太プログラムを動かしたらランタイムエラーが発生した
と言えます。
プログラムを動かしたときにエラーが発生して、処理を途中で止めちゃったからです。
一方、ピヨ子プログラムは、どうでしょう?
お仕事を始めようとしたピヨ子プログラムですが、設定ファイルを見つけられません。
ここまではピヨ太プログラムと一緒ですね。
ピヨ子プログラムは、ここからが違います。
「まぁ、いいわ。こんなときのためにメモっておいた設定があるから、それを使って、お仕事を進めましょう」と、お仕事を続行しました。
さすがはピヨ子プログラムです。
どこかのピヨ太プログラムとは違いますね。
おそらく、ピヨ子プログラムの中身は、以下のようになっていたのでしょう。
1.設定ファイルを読み込む
2.設定ファイルが無ければエラー。事前にメモっていた値を使って処理を進める
3.あれやこれやの処理をする
ピヨ子プログラムの中でもエラーは発生しています。
ですが、ピヨ子プログラムは根性で処理を続行しました。
このような状況は「ランタイムエラー」とは言いません。
「ランタイムエラー」という用語は
処理が途中で止まった(プログラムが仕事を放棄した)
エラーを指す用語です。
一言でまとめるよ
まぁ「ランタイムエラー」って単語が出てきたら「プログラムを動かしているときに発生したエラーなんだな~」と お考えください。
おまけ
■訳してみるよ
「run(ラン)」の意味は「走る」とかです。
「time(タイム)」の意味は「時間」とかです。
「error(エラー)」の意味は「誤り」とか「間違い」とか「過失」とかです。
何となく くっつけると
走る時の誤り
となります。
■検索してみる?






