Mam niestandardowej klasy wyjątku tak:połączeń Super Konstruktor
case class CustomException(errorMsg:String) extends Exception(error:String)
Wszystko co muszę, że gdy złapię Wyjątkiem jest mój zwyczaj rzucać wyjątek i przekazać moje komunikat o błędzie wyjątku niestandardowej. Spodziewam się, że konstruktor CustomException wywoła super (errMsg) Jednak to nie jest to, co idzie teraz i dostałem błąd kompilacji.
catch {
case s: Exception => throw CustomException("This is a custom message")
}
Jak mogę nazwać super konstruktora:
super(errorMessage)
Thx. Jednak jestem ciekawy, dlaczego Scala nie ma super (errorMsg) jak Java! – Echo
@Echo: Ponieważ nie jest to Java i ponieważ super konstruktor może być * tylko * wywoływany z podstawowego konstruktora klasy, a nawet wtedy - może być wywołany tylko jako pierwsza operacja w konstruktorze. Składnia Scala lepiej reprezentuje to podstawowe ograniczenie (narzucone przez JVM). –
Co zrobić, jeśli chcesz, aby oba konstrukty wyjątków (ciąg, throwable) i (łańcuch) były zaimplementowane w niestandardowym wyjątku? – monzonj