鍍金池/ 教程/ Scala/ Scala try-catch語句
Scala方法重載
Scala模式匹配
Scala throw關(guān)鍵字
Scala提取器
Scala概述
Scala throws關(guān)鍵字
Scala finally塊
Scala正則表達(dá)式
Scala循環(huán)語句
Scala多線程
Scala函數(shù)
Scala final關(guān)鍵字
Scala方法覆蓋
Scala字符串
Scala線程實(shí)現(xiàn)
Scala異常處理
Scala類和對(duì)象
Scala數(shù)據(jù)類型
Scala單例和伴生對(duì)象
Scala構(gòu)造函數(shù)
Scala教程
Scala Case類和對(duì)象
Scala繼承
Scala開發(fā)環(huán)境安裝配置
Scala運(yùn)算符
Scala文件I/O
Scala線程方法
Scala變量
Scala try-catch語句
Scala基礎(chǔ)語法
Scala集合
Scala數(shù)組
Scala閉包
Scala訪問修辭符
Scala this關(guān)鍵字

Scala try-catch語句

Scala提供trycatch塊來處理異常。try塊用于包含可疑代碼。catch塊用于處理try塊中發(fā)生的異常??梢愿鶕?jù)需要在程序中有任意數(shù)量的try...catch塊。

Scala try catch示例1

在下面的程序中,我們將可疑代碼封裝在try塊中。 在try塊之后使用了一個(gè)catch處理程序來捕獲異常。如果發(fā)生任何異常,catch處理程序?qū)⑻幚硭绦驅(qū)⒉粫?huì)異常終止。

class ExceptionExample{  
    def divide(a:Int, b:Int) = {  
        try{  
            a/b  
        }catch{  
            case e: ArithmeticException => println(e)  
        }  
        println("Rest of the code is executing...")  
    }  
}  
object Demo{  
    def main(args:Array[String]){  
        var e = new ExceptionExample()  
        e.divide(100,0)  

    }  
}

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo.scal
java.lang.ArithmeticException: / by zero
Rest of the code is executing...

Scala Try Catch示例2

在這個(gè)例子中,catch處理程序有兩種情況。 第一種情況將只處理算術(shù)類型異常。 第二種情況有Throwable類,它是異常層次結(jié)構(gòu)中的超類。第二種情況可以處理任何類型的異常在程序代碼中。有時(shí)當(dāng)不知道異常的類型時(shí),可以使用超類 - Throwable類。

class ExceptionExample{  
    def divide(a:Int, b:Int) = {  
        try{  
            a/b  
            var arr = Array(1,2)  
            arr(10)  
        }catch{  
            case e: ArithmeticException => println(e)  
            case ex: Throwable =>println("found a unknown exception"+ ex)  
        }  
        println("Rest of the code is executing...")  
    }  
}  
object Demo{  
    def main(args:Array[String]){  
        var e = new ExceptionExample()  
        e.divide(100,10)  

    }  
}

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo.scal
found a unknown exceptionjava.lang.ArrayIndexOutOfBoundsException: 10
Rest of the code is executing...

上一篇:Scala繼承下一篇:Scala教程