object worksheet_p3 {
/*
try{} try在java中是语句,在scala中是表达式,会返回一个值
catch{}
finaly{}
*/
val result_try = try{
// 把dog转成int,这时候,会抛出异常
Integer.parseInt("dog")
}catch{ // 这里的意思是:抛出异常之后,进入到catch,catch接收,
case _ => 0 // catch有case _ => 0,这里的 "_" 下划线是通配符,可以通配所有的对象,所以,这里不管上面发生哪种异常,这里都可以接受,同时返回0
}finally { // 这里的finally语义和java里finally语义是一样的,无论是否有异常,finally这个代码块都会执行
println("always be printed")
} //> always be printed
//| result_try : Int = 0
// 这里是将try返回的值:0 int类型,给了result_try,result_try等于0
/*
exp match{ //主要用在pattern match中
case p1 => val1 如果exp(表达式)与p1匹配上,那么就返回val1
case p2 => val2 同上
..
case _ =>valn _通配符,可以通配所有的对象,类似与switch里面的default;如果exp(表达式)与上面的pattern(值)都匹配不上,那么就返回valn
}
*/
val code = 3; //> code : Int = 3
val result_match = code match{
case 1 => "one"
case 2 => "two"
case _ => "others"
} //> result_match : String = others
}
三.try与match表达式
最新推荐文章于 2022-09-24 11:53:38 发布