見出し画像

プログラミングの歩み(4) ~エラーを"投げる"~

プログラムの中には、throw句というのがあります。
良く使われるのは、例外を投げるという文脈で使われ、エラーを投げるというようなことをするプログラムです。

こいつを投げるかどうかって、結構センシティブな問題でもあるんですよね。

結構自分勝手な動きをするということで、最近は使わないような動きが多くなってきてますが、身勝手な動きを制御しきって、出口まで手引きできるなら使っても良いかもしれないものです。

まるで暴れ牛に首縄をつけて闘技場から引き摺り出そうとするような感じですね。

何が身勝手って、こいつはとにかくどこからでも処理を中断して、試合のフィールドのどこにでもパスを出すような動き方をするのに加え、パスの先がボールを受け取る体制でなければ、その後ろに控えてる人、といったようにどんどん渡される対象が変わっていくのも、側から見たら挙動に悩むところ。

ちゃんと、ボールを渡す相手が誰で、どのタイミングで渡して、次に渡す人は誰でっていうのを前もって決めておく必要があって、そこまでやって初めて使えるような、使い勝手の悪いヤツなんですよ。

すみませんね、うちのthrow句がご迷惑をかけて。

僕がthrow句を初めて使ったのは、2年くらい前で雰囲気で使っていました。
なんか、他の人が使ってるから使っとこみたいな。
今でも覚えてます。
ちょっとプログラムを学び始めた人に、「try-catchってなんですか」って聞かれて、答えられず、「例外を投げるものなんだよ」とはぐらかして終わった苦い思い出を。

投げるってなんだよ。投げられたらどうなるんだよ。なんで投げるんだよ。
いろんなことが頭に浮かびましたが、どれだけ説明を読んでも文面上でしか理解できず、結局どう使うのかは分からなかった思い出。

今では、極力使わないようにして本当に必要だと思う部分でのみ行うようにしていますが、それができるようになったのはこの2年で自分に改革が起こったような感じがありますね。
例外だけではないですが、やはり2年というのはいろいろと学ぶには結構な時間だなぁと感じますね。

いいなと思ったら応援しよう!