Scala Try-Catch 异常

Scala Try-Catch 异常

Scala中的 Try-Catch 结构与Java不同,Scala中的Try-Catch是一个表达式,Scala在catch子句中使用了模式匹配。假设我们要实现一系列可以抛出异常的代码,如果我们想控制这个异常,那么我们应该利用Try-Catch段,因为它允许我们在一个块中尝试捕获每一种类型的异常,我们需要在catch中写一系列的case语句,因为Scala使用匹配来分析和处理异常。

  • 示例 :
// Scala program of try-catch
// exception
  
// Creating object
object Arithmetic
{
  
// Main method
def main(args: Array[String]) 
{
      
    // Try clause
    try
    {
        // Dividing a number
        val result = 11/0
    }
      
    // Catch clause
    catch
    { 
            // Case statement
            case x: ArithmeticException => 
            { 
          
            // Display this if exception is found
            println("Exception: A number is not divisible by zero.")
        }
    }
}
}

输出:

Exception: A number is not divisible by zero.

在这里,由于一个数字不能被零整除,所以抛出了一个异常。

  • 示例 :
// Scala program of Try-Catch
// Exception
import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException 
  
// Creating object
object GfG
{
  
// Main method
def main(args: Array[String]) 
{
      
    // Try clause
    try
    {
        // Creating object for FileReader
        val t = new FileReader("input.txt")
    } 
      
    // Catch clause
    catch
    {
      
        // Case statement-1
        case x: FileNotFoundException =>
        {
            // Displays this if the file is
            // missing
            println("Exception: File missing")
              
        }
      
        // Case statement-2
        case x: IOException   => 
        {
          
            // Displays this if input/output 
            // exception is found
            println("Input/output Exception")
          
        }
    }
}
}

输出:

Exception: File missing

在这里,首先执行try块,如果有任何异常被抛出,则检查catch子句中的每个情况,并将与抛出的异常相匹配的情况作为输出返回。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程