Latest web development tutorials

Scala Обработка исключений

обработка исключений Scala и других подобных языков, таких как Java.

Способ Scala может бросить исключение путем способа прекратить соответствующий код, без прохождения через возвращаемого значения.


Сгенерирует исключение

Scala и Java-методы генерируют исключения, использование методов броска, например, бросить новые параметры исключения:

throw new IllegalArgumentException

Поймать исключение

Аномальный механизм захвата с другими языками, если происходит исключение, ловить слова последовательно захвачены. Таким образом, по словам улове, тем более определенное исключение в большей степени полагаться до и после того, как более распространенные нарушения более надежными. Если исключение не улавливает слова, исключение не будет обрабатываться и будет повышен до вызываемым.

оговорка поймать Поймать исключение, грамматика и другие языки не являются одинаковыми. В Scala, заимствованные идеи сделать по шаблону, чтобы соответствовать исключение, так что код улова, случай представляет собой ряд слов, как в этом примере:

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")
         }
      }
   }
}

Реализация указанного выше кода, выход:

$ scalac Test.scala 
$ scala Test
Missing file exception

крылатую фразу в содержании с матча в случае точно такой же. Поскольку обработка исключений в последовательности, если наиболее распространенной аномалией, Throwable, написанный на фронте, в задней части корпуса, которые не поймать, так что вам нужно записать его в последнюю очередь.


наконец, заявление

наконец, оператор используется для выполнения либо нормальную обработку или должны быть выполнены шаги, при возникновении исключения, примеры являются следующие:

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...")
      }
   }
}

Реализация указанного выше кода, выход:

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