Latest web development tutorials

Scala Exception Handling

Scala Ausnahmebehandlung und anderen ähnlichen Sprachen wie Java.

Scala-Methode kann eine Ausnahme durch eine Methode werfen den entsprechenden Code zu beenden, ohne den Umweg über den Rückgabewert geht.


Werfen Sie eine Ausnahme

Scala und Java-Methoden werfen Ausnahmen, die Verwendung von throw Methoden, zum Beispiel eine neue Ausnahme Parameter werfen:

throw new IllegalArgumentException

Fangen Sie die Ausnahme

Abnormal-Capture-Mechanismus mit anderen Sprachen, wenn eine Ausnahme auftritt, werden Fang Worte nacheinander erfasst. So wird in den Worten des Fangs, desto spezifischer Ausnahme mehr verlassen können, bevor und nachdem die häufiger Anomalien zuverlässiger. Wenn eine Ausnahme, die Worte nicht fängt, wird die Ausnahme nicht verarbeitet werden und wird dem Angerufenen aufgerüstet werden.

Fang Ausnahme catch-Klausel, Grammatik und andere Sprachen sind nicht die gleichen. In Scala, tun die geliehenen Ideen Pattern-Matching, eine Ausnahme zu passen, so dass die Fang Code, der Fall ist, eine Reihe von Wörtern, wie in diesem Beispiel:

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

Die Umsetzung des obigen Codes ist die Ausgabe:

$ scalac Test.scala 
$ scala Test
Missing file exception

Schlagwort in den Inhalt mit dem Spiel in dem Fall ist genau das gleiche. Da die Ausnahmebehandlung ist in der Reihenfolge, wenn die häufigste Anomalie, Throwable, in der Front geschrieben, in der Rückseite des Gehäuses, die nicht fangen werden, so dass Sie es zuletzt schreiben müssen.


schließlich Aussage

schließlich Anweisung entweder normale Verarbeitung oder die Schritte müssen zum Ausführen ausgeführt wird, wenn eine Ausnahme auftritt, die Beispiele sind wie folgt:

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

Die Umsetzung des obigen Codes ist die Ausgabe:

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