Scalaの例外処理機構について説明します。
例外を投げるthrow
throw文を使って、例外を投げることができます。
Scala throwを使った例外処理
def main(arts: Array[String]) : Unit = {
throw new RuntimeException("例外発生") // 例外を発生させる
}
try-catchを使って例外をハンドリングする
実際のシステムで単純に例外をthrowするだけだと、システムエラーとなってしまいます。
try-cacth文を使用することで、例外のハンドリング処理を記述することができます。
try-catchサンプル
def main(arts: Array[String]) : Unit = { try { val ans = 1 / 0 // 0除算エラー発生 println(ans) } catch { // 例外メッセージを出力して終了 case e:Exception => { println("計算に失敗しました。") println(e.getMessage) // => / by zero println(e.getStackTrace) // => [Ljava.lang.StackTraceElement;@902638 } } }