Skip to content

Commit 1045c02

Browse files
committed
例外が混ざることのリスクを詳しく説明
1 parent 8179336 commit 1045c02

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

exception.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ JavaScriptの言語の標準に含まれていない、処理系独自の機能
174174
175175
実際に実行時に例外が起きうる(どんなにデバッグしても例外を抑制できない)ポイントは、外部の通信とかごく一部のはずです。あまりたくさん例外処理を書く必要もないと思いますし、書く場合もどこに書いたかがわかりやすくなります。
176176

177-
広くする問題としては、原因の違う例外が混ざってしまう点もあります。例えば、JSONのパースを何箇所かで行なっていると、それぞれの箇所で ``SyntaxError`` が投げられる可能性が出てきます。原因が違ってリカバリー処理が別の例外が同じ ``catch`` 節に入ってきてしまうと、複雑化やエラーに繋がります
177+
広くする問題としては、原因の違う例外が混ざってしまう点もあります。例えば、JSONのパースを何箇所かで行なっていると、それぞれの箇所で ``SyntaxError`` が投げられる可能性が出てきます。原因が違ってリカバリー処理が別の例外が同じ ``catch`` 節に入ってきてしまうと、正確に例外を仕分けを行って漏れなく対応する必要が出てきます。しかし、どの例外が投げられるかを明示できる文法がなく、実装のコードを見ないとどのような例外が投げられてくるか分かりません。そのため、「間違いなく対処できているか?」を判断するコストが極めて高くなります
178178

179179
``Error`` 以外を ``throw`` しない
180180
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)