zoukankan      html  css  js  c++  java
  • 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"))
    
    }
    

    运行结果:

  • 相关阅读:
    Python--初识函数
    Python中的文件操作
    Python中的集合
    Python中的编码和解码
    Python的关键字is和==
    Python中的字典
    Python中的列表和元组
    Python中几种数据的常用内置方法
    Python的编码
    python_while
  • 原文地址:https://www.cnblogs.com/AK47Sonic/p/8372665.html
Copyright © 2011-2022 走看看