1. 程式人生 > 其它 >scala_惰性函式,異常

scala_惰性函式,異常

技術標籤:Scala

lazy

相比於java的單例模式的懶模式來說sclala的是惰性函式
前面加上一個lazy
1.lazy不可以修飾var,必須為不變的
2.加了lazy的話我們在宣告一個變數時候,如果給聲明瞭lazy,那麼變數值的分配也會推遲

object  lazydemo {
  def main(args: Array[String]): Unit = {
    val a1 = sum(10,20)
//    println(a1)
    lazy val a2 = sum(20,30)
//    println(a2)
  }
  //lazy:呼叫a的時候才會println
  def sum(n1: Int, n2: Int): Int ={
    println("ok")
    return n1 + n2
  }

}

lazy這個優化對於java很重要
因為如果對於以後的業務的優化上,可以對於一些不用的資料可以優化處理。

異常

捕獲異常

異常和java差不多但是語法不同

object trycachedemo {
  def main(args: Array[String]): Unit = {
    try{
      var a = 1/0
    }catch {
      case exception:ArrayIndexOutOfBoundsException=>println("異常1")
      case exception: Exception=>("異常2")

    }finally {
      println("ok")
    }
  }

}

在這裡插入圖片描述

丟擲異常

Scala 丟擲異常的方法和 Java一樣,使用 throw 方法,例如,丟擲一個新的引數異常:

throw new Exception