例外

11月2日の学び

Stacktrace 例外のthrow箇所で文字列を引数に与えることで、スタックトレース時に例外の発生状況を確認できる。 if (Objects.isNull(nextState)) { throw new NextStateException("Current State is " + name + ". " + "Next Character is " + currentString…

11月1日の学び(その③)

すっごい基本だけどthrowとthrowsの違いがわからなかった。。。 Javaの例外 try/catch:自身の中で例外を処理する throw:例外を明示的に発生させる throws:発生した例外を呼び出し元に通知する サンプル 以下のようにcatch内で例外を発生させる場合もある…

11月1日の学び(その②)

例外処理は真剣に考えると凄く難しい(そして面白い)。 例外処理の目的 例外の回復 例外の通知 例外の回復 例えばDBのにアクセスできない場合にリトライするなど。 そもそも回復できるという保証はない。 その場合は呼び出し元に通知する。 例外の通知 呼び…

11月1日の学び(その①)

ちょっと一日早いけど明日は書けるか不明なので。 単に言葉だけ知ってもしかたなくてベストプラクティスを学ぶのが必要。 例外そもそも論 例外が実装されていない言語(C言語)ではいちいち戻り値をif文で分岐する必要があり面倒。 そういう意味ではJavaの例…

10月31日の学び②

エラーと例外は違う。 エラーや例外の実体はインスタンス。 「エラーが発生してプログラムが強制終了」「例外が発生してプログラムが強制終了」「例外が発生したがプログラムは強制終了しない」の3通りがあることを意識。 Javaの例外概要(大切) 土台とし…

10月31日の学び

昨日ちょっと書いたことの続き Javaの例外の概要 Javaでは例外が発生しうる処理を呼び出した時try/catch構文を用いて「例外を回復」するか、thorws句にてその例外を上位レイヤーに「通知」するかのどちらか どこで誰が「通知」「回復」するかは設計時に考慮…

10月30日の学び

UPSERT UPDATE + INSERTのこと データがない場合は新規追加を行い、データがある場合はその既存データを更新する ロックの種類 行ロック:レコードに対してロック 表ロック:表全体に対してロック Javaの例外 単に文法をしっているだけでなく、こういうアン…