見出し画像

【Console Application】ファイルとデータベース 132【学習記】

ファイルとかデータベースの話🤤

Q.
なぜ例外処理にしなかったの?
A.
getRows 自体は設計そのものが数値しか返さない想定だったからってのが大きいけど、ここで例外を起こすのと値が例外になっててそれを調べられるようにするのと幾つかエラー回避・処理には手法が有るから今回は値が異常になって呼び側で対応する形にした感じ🤤
例外でも良いんだけど例外ってどの処理系でも重い事が多い上に一々 try で括ったりでソースの可読性が悪くなるので例外をどれくらい使うかっていうのもプロジェクト次第なとこあるからどこを例外にするか、は良く考えんないといけない…業務だと必須だけどめんどい😞

→ null 返り値許容の関数にするか null を内部で処理するかで呼び出し側の使用難易度が大きく変わる場合がある感じがするのが今回の修正🤤
 なんでも例外にすると catch(Exception e){}握りつぶす為に何も処理を書かない とか平気で書いてくる使用者が居るので例外じゃなくても異常を拾う方法があった方が良いぽ🙄
 今回は -1 にする事で「0件」とは異なる状態を得られる様にしておいて使う側で「1件以上なら」というヤリクチで record が null でも動作するようにしてる感じ🤤

#学習記 #Java

【Console Application】ファイルとデータベース【学習記】
仕様
https://note.com/sayka/n/nb8a67fa90a64?magazine_key=m7bb64c6a359f#br1mB

仕様
レコード
・レベル
 1-12
・難易度
 b,n,h,a,l
・曲名
・ランプ
 -,x,a,e,c,h,e,f

オプションスイッチ
-u file.csv # 更新(略値)
 ファイル名だけ指定した場合更新処理と見做す
-d file.csv # 削除
-p # csv 出力(略値)
 何も指定せずに起動した場合出力処理と見做す
-v # バージョン
-h # ヘルプ


デバグ

それじゃ、ぬるぽってる場所を治そうね🤤

ええと…前回の終わりを見る限りだと main の 192行ね🤔

………🤔

これは… load してないから null が返ってきてる…?🤪
通常なら例外処理の方が妥当なんだろうけどこれは getRows で null を処理すべきかな🤔

load 前とかだとそもそも record が null だから length 掛けようとしたらそこでぬるぽってワケみたいねこれは🙄

解決は簡単。 null 対策するだけ🤤
ぬるぽの殆どはこういう null 処理抜けなのよね😞

あ、しまった load 追加しないで走らせちゃった🤪でも時間切れ〜w


次回は

load 入れて走らせるぽ🤤

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