todas tipos propias propagacion personalizadas nuestras manejo las excepciones ejemplos crear scala exception

scala - tipos - Lanzar excepción personalizada



tipos de excepciones en java (2)

No está lanzando una excepción, sino la clase de una excepción (solo lea el mensaje de error del compilador ...). Tienes que lanzar una instancia de excepción.

case x:Exception => throw new CustomException("whatever")

Estoy tratando de lanzar una excepción personalizada.

La implementación de la clase de excepción personalizada es:

case class customException(smth:String) extends Exception

En mi código envolví un fragmento de código que estoy seguro que arroja una excepción con try / catch para lanzar mi customException.

try{ val stateCapitals = Map( "Alabama" -> "Montgomery", "Alaska" -> "Juneau", "Wyoming" -> "Cheyenne") println("Alabama: " + stateCapitals.get("AlabamaA").get) } catch{ case x:Exception=>throw classOf[CustomException] }

Tengo un error de compilación que dice:

found : java.lang.Class[CustomException] [INFO] required: java.lang.Throwable [INFO] case x:Exception=>throw classOf[CustomException]

¿Cómo podría lanzar mi propia excepción personalizada en este caso? Más tarde verifico si la excepción lanzada es de un tipo [x] para hacer algo específico.


También sería útil cambiar la definición de la clase de excepción de la siguiente manera:

case class customException(smth:String) extends Exception(smth)