Вот метод в Scala:
def method1(arg: String*): List[String] = {
try {
new MyClass(new URL(arg(0)))
.map(x => x.getRawString.toString)
}
catch {
case e: Exception => e.printStackTrace()
}
}
Он жалуется на
found : Unit
[error] required: List[String]
Если я добавил дополнительное значение, чтобы:
def method1(arg: String*): List[String] = {
val result = try {
new MyClass(new URL(arg(0)))
.map(x => x.getRawString.toString)
}
catch {
case e: Exception => e.printStackTrace()
}
result
}
он сказал бы
found : Any
[error] required: List[String]
который является нечетным - это не то же самое, что и первый подход?
В любом случае, какой стандартный способ справиться с такими ситуациями Scala - вернуть значение из try { .. } catch { .. }
?