Scalaでは(他の関数型言語のように)制御フローを壊さない傾向があると聞いた人もいます...代わりに、慣例により、エラーを。で返しますEither
Left
。
しかし、その例外からどのようにstracktraceを取得するのでしょうか。今のところ、私は左側にError
コード、メッセージ、原因(Error
も)を含む単純なケースクラスを返します。しかし、エラーが発生した場合、スタックトレースを取得できません。私のアプリケーションが複雑になると、それを返したコードブロックを見つけるのが難しいかもしれませんError
...根本的な原因は不可欠です。
では、実際には何をしますか?
Error
カスタムの代わりに、Javaタイプを返す必要がありますException
か?スタックトレースや原因などの重要な情報を失うことなく、Scalaの例外処理のベストプラクティスは何ですか?Throwable
Left