私はカスタム例外をスローしようとしています。カスタム例外をスローする
カスタム例外クラスの実装は次のとおりです。私は確信しているコードの一部を包んだ私のコードでは
case class customException(smth:String) extends Exception
は私customExceptionをスローするのtry/catchで例外をスロースローされます。
try{
val stateCapitals = Map(
"Alabama" -> "Montgomery",
"Alaska" -> "Juneau",
"Wyoming" -> "Cheyenne")
println("Alabama: " + stateCapitals.get("AlabamaA").get)
}
catch{
case x:Exception=>throw classOf[CustomException]
}
私が言うコンパイルエラーました:
found : java.lang.Class[CustomException]
[INFO] required: java.lang.Throwable
[INFO] case x:Exception=>throw classOf[CustomException]
私はこのケースに独自のカスタム例外を投げる可能性がどのように? 後で、スローされた例外が[x]型であるかどうかをチェックして、何か特別な処理をします。
ケースクラスの場合は、 'new'を必要としません。 –
これは私が今までに聞いたことのない愚かな質問の一つです。私はclassOfを使用するが、私は言及したのと同じエラーが出ていたが、私の注意をurコードに支払うのは "何でも"です.....私はコンストラクタのパラメータを渡すのを忘れていました。申し訳ありませんが....... "何でも" :) – Echo
@キム:確かに。インスタンス化を主張したかっただけです。 – paradigmatic