В этой статье он сказал, что:
Если вы хотите поймать "все", что обычно происходит, используйте Нефатальный:
import scala.util.control.NonFatal
try {
operation()
} catch {
case NonFatal(e) => errorHandler(e)
}
Но я обычно использую Exception
:
try {
operation()
} catch {
case e: Exception => errorHandler(e)
}
Я хотел бы знать, в чем разница между NonFatal
и Exception
в Scala? Включает ли Exception
в Scala фатальное исключение?
AFAIK в java, Exception
предназначен для нефатальной ошибки, а Error
- для фатальной ошибки. Является ли Scala отличным от java в терминах Exception
?
Какой путь является правильным, чтобы поймать нефатальное исключение?