Scala 异常处理
Posted AK47Sonic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala 异常处理相关的知识,希望对你有一定的参考价值。
Scala 异常处理:
parseURL("www.baidu.com") 会返回一个 Success[URL] ,包含了解析后的网址, 反之 parseULR("www.baidu.com") 将返回一个含有 Exception 的 Failure[URL]。
使用 Try 与使用 Option 非常相似, 你可以调用 isSuccess 方法来检查一个 Try 是否成功,然后通过 get 方法获取它的值, 但是,这种方式的使用并不多见,因为你可以用 getOrElse 方法给 Try 提供一个默认值。
如果用户提供的 URL 格式不正确,我们就使用 www.sina.com 的 URL 作为备用。
import scala.util.{Failure, Random, Success, Try} object TryTypeDemo extends App { case class URL(url: String) def parseURL(url: String): Try[URL] = { Try({ if(Random.nextBoolean()){ throw new Exception() } else { new URL(url) } }) } val status = parseURL("www.baidu.com") //method 1 println(status.isSuccess) status.isSuccess match { case true => println(status.get) case _ => println("www.sina.com") } //method 2 status match { case Success(x) => println(status.get) case Failure(y) => println("www.sina.com") } //method 3 println(status.getOrElse("www.sina.com")) }
运行结果:
以上是关于Scala 异常处理的主要内容,如果未能解决你的问题,请参考以下文章