2015-11-16 2 views
-1

Как я могу использовать собственные пользовательские исключения, включая текстовое сообщение при броске? Этот фрагмент кода демонстрирует желаемое за действительное намерение:Получите специальное исключение scala для отображения пользовательских данных при броске

case class MyException(errorText: String) extends Exception 

object app extends App { 
throw MyException("How can this be printed along the stack trace?") 
} 

Но работает в СБТ, пользовательский текст не отображается. Какой может быть идиоматический способ достичь этого?

Конечно, я мог бы вообще поймать любое исключение и распечатать его данные из этого кода catch, но это было бы немного утомительно.

+0

Попробуйте следующее: 'case class MyException (errorText: String) extends Exception (errorText)' – fukanchik

+0

Право! конечно! вы можете ответить на этот вопрос. – matanster

ответ

1
case class MyException(errorText: String) extends Exception(errorText) 

Технически говоря, это просто passing a parameter to the superclass constructor, суперкласс быть в Java Exception в этом случае.

+0

Ссылка слишком многословна для этой простой концепции. Позаботьтесь об этом? – matanster

+0

Я думаю, что лучше сказать, что этот вопрос дублирует многие другие вопросы о SO, где вы можете найти гораздо больше деталей. Просто найдите * суперкласс класса конструктора scala * и тому подобное. – fukanchik

+0

Хорошо, я исправил это сам. – matanster

Смежные вопросы