仕事ですぐに使えるTypeScriptを読んでいくその18
これは
TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。
参考
著作権者:フューチャー株式会社(Future Corporation)様
例外処理
今日は例外処理4日目をやっていきます。
例外処理とコードの読みやすさ
昨日はErrorクラス以外にもある例外のためのクラスについてでした。
今日は例外処理とコードの読みやすさについてです。
try 節はなるべく狭くする
便利なtry-catchだが、tryのなかにたくさんのlogicが定義されていた場合
どこで発生したエラーかわかりにくくなってしまう。
catchさせるエラーをIDつけてリターンさせたり、適切な振り分けができたら
ある程度長くても良さそうな気もするけど、その辺はもう少し見ないとわからない。
// だらっと処理をさせてるとわからなくなる try { const data = await getData(); const modified = modify(data); const update = update(modified); const insert = insert(update); } catch (e:Error) { // エラーだった場合の処理 } // 例外発生しそうな場所にだけtry-catchをセットする const data = await getData(); const modified = modify(data); try { const update = update(modified); } catch (e:Error) { // エラーだった場合の処理 } const insert = insert(update);
Error以外をthrowしない
throwにはError関連のクラス以外にも数値や文字列を投げれる機能がある。
けれども基本的にはthrowはError関連で使われるものなので、それ以外で使うようなことは避けた方が良い。
TypeScriptならではなのだろうか。Error関連以外をthrowしたい場面ってあるものなのかな。
今日はここまで。