Avatar
omochimetaru 6/16/2017 7:12 AM
たとえ fatalError だけ代わりの方法で対処できたとしても、その他の Universal Error (メモリが足りないとかスタックオーバーフローとか)は起こりうるので、結局それらが発生したっ場合のログは送れないですし。
Swift could support a secondary, untyped propagation mechanism using "zero-cost" exceptions. ... However, this work is outside of the scope of Swift 2.0. https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst#universal-errors とあり、将来的にサポートされる可能性もあるかと。
swift - The Swift Programming Language
7:12 AM
fatalErrorのキャッチみたいな事ができるようになっても秩序は保てるのか
7:12 AM
> koher - 今日 午後4時9分 非検査例外が悪いわけじゃなくて、非検査例外と検査例外を同じ仕組みでハンドリングさせたことと、 Exception を RuntimeException のスーパークラスにしてしまったこと( Logic Failure を Recoverabble Error の下位においてしまったこと)、構文がイケてなかったことあたりが相互に影響して使い勝手が悪くなってしまったと思ってます。 Java であっても Exception, Error, RuntimeException がそれぞれ Recoverable Error, Universal Error, Logic Failure の意味合いで適切に使い分けられてたら問題がないはず。(編集済)
7:13 AM
Go言語の (err, ret) タプルと panic/rescueが近いのかな