#11 Scalaで学ぶエラーハンドリングの基本
Scalaのエラーハンドリングには、Javaと同じ`try`・`catch`に加えて、関数型プログラミングらしい`Try`という型を使った考え方があります。この記事では、Scalaにおけるエラーハンドリングの基本を解説します。
try・catchの基本
try {
val result = 10 / 0
} catch {
case e: ArithmeticException => println("0では割れません")
}
`catch`の中で、以前の記事で触れた`match`と同じ書き方をするのがScalaの特徴です。
Tryという型を使う方法
Scalaには、Rustの`Result`に似た`Try`という型があり、成功(`Success`)と失敗(`Failure`)を値として扱えます。
import scala.util.Try
val result: Try[Int] = Try(10 / 0)
result match {
case Success(value) => println(s"結果: $value")
case Failure(e) => println("エラーが発生しました")
}
Scalaならではの注意点
`try`・`catch`は他の言語と似た書き方ができますが、Scalaらしいコードを書きたい場合は、`Try`型を使ってエラーを「値」として扱う書き方に慣れていくとよいでしょう。値として扱えることで、他の処理と組み合わせやすくなります。
まとめ
Scalaのエラーハンドリングは`try`・`catch`に加えて、`Try`型を使う関数型らしい方法があります。両方の書き方を知っておくと、状況に応じて選べます。
本ページはプロモーションを含みます。
参考書籍(PR)
Scalaをもっと学びたい方には「実践Scala入門」がおすすめです。
コメント
コメントを投稿