Escuché de algunas personas que en Scala tenemos tendencia (al igual que otros lenguajes funcionales) a no romper el flujo de control ... En lugar de hacerlo por convención, devolvemos el error en un Either
Left
.Manejo de fallas con Cualquiera -> ¿Dónde está el stacktrace?
Pero, ¿cómo obtenemos el StrackTrace de esa excepción? Por ahora, devuelvo en la izquierda una clase simple de caso Error
con un código, un mensaje y una causa (Error
también). Pero si tengo un error, no puedo obtener la stacktrace. Si mi aplicación se vuelve compleja, puede ser difícil encontrar el bloque de código que devolvió ese Error
... La causa raíz es esencial.
Entonces, ¿qué hacemos en la práctica?
si regreso, en lugar de una costumbre Error
, el tipo java Exception
o Throwable
en mi Left
? ¿Cuál es la mejor práctica para el manejo de excepciones de Scala sin perder información importante como stacktrace y la causa?
Solo como una nota, en la próxima Scala 2.10 [también hay Try] (http://blog.richdougherty.com/2012/06/error-handling-with-scalas-try.html) para el manejo de errores –
@ om-nom-nom ¡gracias, esto parece realmente bueno! –