konan::abort() に対する防衛術 < ヤミノクラッシュニタイスルボウエイジュツ > : デラックス・エディション by くろるり

iOSDC Japan 2023
レギュラートーク(40分)

konan::abort() に対する防衛術 < ヤミノクラッシュニタイスルボウエイジュツ > : デラックス・エディション

kuroruri くろるり kuroruri

KotlinMultiplatformForMobileの導入によりアプリ開発者はビジネスロジックの差異という問題を乗り越える事が出来ましたが、一方で独自の問題も待ち構えています。
KMM内でerrorがthrowされそれがKMM内で適切にハンドリングされなかった場合にアプリはクラッシュし、おまけにそのクラッシュはkonan::abort()という一つのクラッシュに纏められてレポートされます。
どの処理でクラッシュしたか詳細なStackTraceは提供さておらず、この状態からクラッシュを解消するための道筋を立てる事は困難でしょう。
本セッションではそのような原因不明な闇のクラッシュに対し、起きる前後それぞれで出来ることを考えていきます。

40分拡大版ではそも何故Kotlin側でerrorがハンドリングされない設計になってしまうのか、検査例外に関する歴史を踏まえた考察もしていきます。