您当前的位置: 首页 >  scala

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Scala异常

梁云亮 发布时间:2020-04-14 12:30:13 ,浏览量:2

try-catch-finally

示例1:

  def main(args: Array[String]): Unit = {

    val array = Array(1, 2, 3);
    try {
      val i = StdIn.readInt()
      val res = 10 / i
      println(array(i))
    } catch {
      case ex: ArithmeticException => {
        println("算术异常=" + ex.getMessage)
      }
      case ex: IndexOutOfBoundsException => {
        println("数组下标越界异常=" + ex.getMessage)
      }
    } finally {
      println("finaly 的代码...")
    }
    println("程序继续....")
  }

结果: 输入数字正确时: 在这里插入图片描述 数学异常 在这里插入图片描述 下标越界异常 在这里插入图片描述

throw异常

示例:

  def test(): Nothing = {
    throw new Exception("不对")
  }

  def main(args: Array[String]): Unit = {
    val res = test()
    println(res.toString) //
  }

当一个函数没有正常的返回值时,可以用Nothing来作为返回类型。这样做的好处是,我们可以把返回值(比如:异常)赋给其它的函数或者变量。

@throws异常
def main(args: Array[String]): Unit = {
  fun()
}

@throws(classOf[NumberFormatException])
def fun() = {
  "abc".toInt
}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.1299s