日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解Scala異常處理

Scala的異常的工作原理類似于Java之類的許多其他語言的異常。代替以常規(guī)方式返回值,方法可以通過引發(fā)異常來終止。但是,Scala實際上沒有檢查過的異常。當您想處理異常時,可以像在Java中一樣使用try {…} catch {…}塊,只是catch塊使用匹配來識別和處理異常。

創(chuàng)新互聯(lián)公司是少有的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、微信小程序開發(fā)、手機APP,開發(fā)、制作、設(shè)計、買鏈接、推廣優(yōu)化一站式服務網(wǎng)絡(luò)公司,公司2013年成立,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評

Scala 的異常處理和其它語言比如 Java 類似。 Scala 的方法可以通過拋出異常的方法的方式來終止相關(guān)代碼的運行,不必通過返回值。

拋出異常

Scala 拋出異常的方法和 Java一樣,使用 throw 方法,例如,拋出一個新的參數(shù)異常:

throw new IllegalArgumentException

捕獲異常

異常捕捉的機制與其他語言中一樣,如果有異常發(fā)生,catch字句是按次序捕捉的。因此,在catch字句中,越具體的異常越要靠前,越普遍的異常越靠后。 如果拋出的異常不在catch字句中,該異常則無法處理,會被升級到調(diào)用者處。

捕捉異常的catch子句,語法與其他語言中不太一樣。在Scala里,借用了模式匹配的思想來做異常的匹配,因此,在catch的代碼里,是一系列case字句,如下例所示:

import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException

object Test {
  def main(args: Array[String]) {
     try {
        val f = new FileReader("input.txt")
     } catch {
        case ex: FileNotFoundException =>{
           println("Missing file exception")
        }
        case ex: IOException => {
           println("IO Exception")
        }
     }
  }
}

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala
$ scala Test
Missing file exception

catch字句里的內(nèi)容跟match里的case是完全一樣的。由于異常捕捉是按次序,如果最普遍的異常,Throwable,寫在最前面,則在它后面的case都捕捉不到,因此需要將它寫在最后面。

finally 語句

finally 語句用于執(zhí)行不管是正常處理還是有異常發(fā)生時都需要執(zhí)行的步驟,實例如下:

import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException

object Test {
  def main(args: Array[String]) {
     try {
        val f = new FileReader("input.txt")
     } catch {
        case ex: FileNotFoundException => {
           println("Missing file exception")
        }
        case ex: IOException => {
           println("IO Exception")
        }
     } finally {
        println("Exiting finally...")
     }
  }
}

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala
$ scala Test
Missing file exception
Exiting finally...

當前文章:詳解Scala異常處理
瀏覽地址:http://www.5511xx.com/article/dhppcss.html