2016-07-29 8 views
1

Ich habe eine Methode, die Typ zurückgeben und ich möchte (Long, String) erhalten. Irgendein Vorschlag?Getting (Long, String) von (String) => Try [(Long, String)]

Ich dachte map/flatMap wird helfen, aber sieht aus wie sie nicht.

aktualisieren

def someMethod():(Long, String) = { 
    val result: (String) => Try[(Long, String)] = someOperation() 
    //Need to get (Long, String) from result 
} 
+0

'.toOption.getOrElse (default)' passende? –

+0

@Alle nur mit Beispielcode aktualisiert, um mein Problem zu erklären –

Antwort

4

Es gibt mehrere Optionen

val exceptional: Try[(Long, String)] = ??? 
val default: (Long, String) = (0, "") 

Fehlerwert Providing

exceptional.getOrElse(default) 

Ausnahmebehandlung und dann sicher get

exceptional.recover { case exception => default }.get 

oder Muster unter Verwendung

exceptional match { 
    case Success(v) => v 
    case Failure(exception) => default 
} 
Verwandte Themen