Avatar
Javaではその二つが両方Throwableで表してるけど。というか、検査例外と非検査例外が同じthrows/throwで表されてるのが良くないのかな。
6:45 AM
throws Error とthrows Never 的サブタイピングを考えるとThrowableでまとめるのに無理がありそうって意味。
6:46 AM
そうすると検査例外が親じゃないといけないけど、そしたら↑の非検査例外巻き込みが起こるから、別系統にして構文も変えるのが良さそう。
6:49 AM
Swiftが非検査例外(Logic Failure)の構文をthrows/tryから分離したのは正しそうだなぁ。あとは、↓とかで非検査例外のハンドリングがサポートされれば…。 https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782#part-3-reliability-through-fault-isolation
Swift Concurrency Manifesto. GitHub Gist: instantly share code, notes, and snippets.
6:52 AM
@Kishikawa Katsumi JavaのAPIの例外の使い方が良くないというのは僕もそうじゃないかと思ってましたが、 parseInt の NumberFormatException が非検査例外なのが飛び抜けてヤバいのに印象が引っぱられてて、他はそうでもないと思うようになりました。