diff options
| -rw-r--r-- | NOTE.md | 13 | ||||
| -rw-r--r-- | slide.pdf | bin | 237278 -> 243184 bytes | |||
| -rw-r--r-- | slide.saty | 3 |
3 files changed, 16 insertions, 0 deletions
@@ -0,0 +1,13 @@ +# PHP で `json_decode()` や `json_encode()` が `json_last_error()` や `json_last_error_msg()` でエラーを取るようになっている理由 + +`json_last_error()` が実装されたのが、 `json_decode()`/`json_encode()` の実装より後 + +# C# に検査例外がない理由 + +C# 設計リーダへのインタビュー +https://www.artima.com/articles/the-trouble-with-checked-exceptions + +# Go に例外がない理由 + +Go の FAQ +https://go.dev/doc/faq#exceptions Binary files differ@@ -287,9 +287,12 @@ void do_something() { * \good; エラーに情報を載せられる * \good; エラーハンドリングを省略するとコンパイルエラーになる ** \good; 省略ができない + * \bad; どこでどの例外が投げられるのかわかりにくい + ** 注: 例外自体の問題ではなく、C++ や Java が採用している文法の問題 * \bad; 大域脱出は処理の動きが複雑になる * \bad; 例外クラスの継承ツリー設計が困難 * \bad; 回復不能なエラーまで例外で表される + * 検査例外固有の問題がいくつかある (ここでは割愛) } > > |
