参考: Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい - Qiita しかし先日TwitterでFortifyというライブラリを見かけて、Swiftを使い始めて以来最大の衝撃を受けました。Fortifyはたった150行の1つのSwiftファイルからなるシンプルなライブラリですが、なんとUniversal error, Logic failureから復帰する機能を提供しているのです! // FortifyのREADMEより import Fortify do { try Fortify.exec { var a: String! a = a! // 普通はここで落ちるはず } } catch { // が、catchできるErrorに変換されてここで拾える NSLog("Unwrap error: \(error)") } この記事ではFortifyがいかにしてこの挙動を
![fatalErrorから復帰させる不思議なSwiftライブラリFortifyを読み解く - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1fe12133268a55eef7db6effd47cf53d5448d26d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9ZmF0YWxFcnJvciVFMyU4MSU4QiVFMyU4MiU4OSVFNSVCRSVBOSVFNSVCOCVCMCVFMyU4MSU5NSVFMyU4MSU5QiVFMyU4MiU4QiVFNCVCOCU4RCVFNiU4MCU5RCVFOCVBRCVCMCVFMyU4MSVBQVN3aWZ0JUUzJTgzJUE5JUUzJTgyJUE0JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUFBRm9ydGlmeSVFMyU4MiU5MiVFOCVBQSVBRCVFMyU4MSVCRiVFOCVBNyVBMyVFMyU4MSU4RiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZTY1NGE5MGM5NmM4NDVkYTRhMmM0MjMzY2M2ZmUxOWM%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1a2l0YWthJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0wNDM5MzE2NWEyZDcyZTYwNTY5YmZkM2EwYWU1ODYxNA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D9795b1beaba6f3fd2a404e0bf12545d0)