Javaでおなじみtry式(文ではない)です。
やはりJavaでおなじみの例外二種類をキャッチする例文を書いてみようと思います。
val array = Array("one" , null, "three")
NullPointerExceptionを発生させるために、要素の二つ目にnullを入れました。
配列を
for式でまわしています。
ArrayIndexOutOfBoundsExceptionを発生させるために、要素を0から数えて4番目の3までループさせます。
for (i <- 0 to 3) {
try {
println(array(i) + " length = " + array(i).length)
} catch {
case ex : ArrayIndexOutOfBoundsException=> println("array index out of bounds")
case ex : NullPointerException => {
println("array num is = " + i)
println("null!")
}
}
}
例外のスローをキャッチした場合、 => の後に処理を書きます。複数行にわたる処理を書く場合{}で囲みます。
処理結果は以下です。
one length = 3
array num is = 1
null!
three length = 5
array index out of bounds
想定通り出力されていると思います。
最終更新:2013年09月18日 16:30