Try ist Datentyp ähnlich den Typen Either und
Option. Try ist die Oberklasse für zwei Typen in der
Standarddistribution welche einmal eine erfolgreiche Ausführung eines Programmteiles und einmal einen
aufgetretenen Fehlerfall (engl. Exception) repräsentieren.
Sehen wir uns nun ein Beispielprogramm an, wie wir mit Try fehleranfällige Programmteile
mit Scala behandeln können.
import scala.util.Try
import scala.util.Success
import scala.util.Failure
object TryDemo {
def compute(x: Int, y: Int): Try[Int] = Try(x / y)
def main(args: Array[String]): Unit = {
val result1 = compute(12,4)
out(result1)
val result2 = compute(13,0)
out(result2)
}
def out(value: Try[Int]): Unit = {
value match {
case Success(_) => println("Success: "+value)
case Failure(_) => println("Failure")
}
}
}
Die Ausführung des Programms führt zu folgender Ausgabe auf der Systemausgabe:
Success: Success(3)
Failure
Die Funktion compute stellt die Applikationslogik dar, wo eine Integer-Division vorgenommen
wird. Da eine Division durch 0 nicht definiert ist und zu einem Fehler führt, ist diese Funktion Fehleranfällig
und muss dementsprechend abgesichert werden.
Um diese mögliche Ausnahme zu behandeln verpacken wir das Ergebnis in einen Try Datentyp,
welcher je nach Ausführungsergebnis Success oder vom Typ Failure sein kann.
Unsere main-Methode ruft die compute-Funktion zweimal auf. Einmal mit
gütigen Argumenten und einmal mit einem Argument 0 als Divisor. Anschließend übergeben wir
das Ergebnis von compute an die Methode out, welche das Ergebnis auswertet und eine entsprechende Ausgabe
auf der Systemausgabe macht.
Daniel Westheide 
The Neophyte's Guide to Scala Part 6: Error Handling With Try
http://danielwestheide.com/blog/2012/12/26/the-neophytes-guide-to-scala-part-6-error-handling-with-try.html
API Dokumentation:
Try - Class 
Try - Object 
Success - Class 
Failure - Class 