PHPカンファレンス沖縄2021で発表した資料です。
サマリー
PHPでは、例外をthrowとtry-catch-finallyを使って処理する実装をすることが多いと思います。
対して、GoやScala、Rustなどthrow -> try-catch-finallyでの例外ハンドリングを実装せず、多値返却やEither、Resultなど結果とエラーを表すデータ型を使って例外処理を行う言語も存在します。
この資料では、PHPでGoやScala、Rustのようにthrowしない例外処理をどう実装していくのかと、実際に実装した結果どのようなメリット/デメリットが得られたのかを説明しています。