日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

有經(jīng)驗(yàn)的碼農(nóng)都知道,程序開(kāi)發(fā)的差不多的時(shí)候,為了提高程序的穩(wěn)健性,是一定要加上異常處理機(jī)制的

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了東平免費(fèi)建站歡迎大家使用!

在scala中,用try/catch/finally實(shí)現(xiàn)該功能.

拋出異常

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

throw new IllegalArgumentException

捕獲異常

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

捕捉異常的catch子句,語(yǔ)法與其他語(yǔ)言中不太一樣。在Scala里,借用了模式匹配的思想來(lái)做異常的匹配,因此,在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,寫(xiě)在最前面,則在它后面的case都捕捉不到,因此需要將它寫(xiě)在最后面。

finally 語(yǔ)句

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

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中的異常處理
當(dāng)前地址:http://www.dlmjj.cn/article/djopgsg.html