チェインソーマン最終回とアニメ化と第2部が発表ありましたね。なおアニメは「お住まいの地域ではご覧になれません」ので悲しいです。 本記事では、例外に関しての設計指針を記述したいと思います。 例外の歴史 多くのプログラミング言語でサポートされている「例外」は、構造化例外処理(SEH-Structured Error Handling)などと呼ばれるプログラミング言語の機構です。 以下のような特徴を持っていると思います。 関数などのスコープを超えて大域脱出の処理が可能 実行時のコンテキスト(スタックトレース)を持てる catch句のようなハンドラを持って処理する キャッチ・非キャッチ例外のような種類があるものもある 例外のない言語 それ以前での例外処理はどうだったか?というと、大まかに分けて2種類です エラーコードで区別する グローバルエラーオブジェクトを持つ 1は、言語仕様によってさらに以下の
![例外の設計指針~歴史と分類とトレンド - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/dec0723e36a6ca9148fe641569143742d248ea9b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU0JUJFJThCJUU1JUE0JTk2JUUzJTgxJUFFJUU4JUE4JUFEJUU4JUE4JTg4JUU2JThDJTg3JUU5JTg3JTlEJUVGJUJEJTlFJUU2JUFEJUI0JUU1JThGJUIyJUUzJTgxJUE4JUU1JTg4JTg2JUU5JUExJTlFJUUzJTgxJUE4JUUzJTgzJTg4JUUzJTgzJUFDJUUzJTgzJUIzJUUzJTgzJTg5JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz0wYzVmNDc3MTM4Y2E5N2ZmZjI3Mzc4MTUzNmYxNjQxYg%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwdGFzaHhpaSUyMGluJTIwVElTJUU2JUEwJUFBJUU1JUJDJThGJUU0JUJDJTlBJUU3JUE0JUJFJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zMzBlY2MzMzE3YTRjMTRjMmNiMGE1NTZiOTJiMzNlMQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D698f42f4c0b72c0fd35b67521950c0f7)