[英]Throw Custom Exception
我正在尝试抛出一个自定义异常。
自定义异常 class 的实现是:
case class customException(smth:String) extends Exception
在我的代码中,我包装了一段代码,我确定用 try/catch 抛出异常来抛出我的 customException。
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]
我怎么能在这种情况下抛出我自己的自定义异常? 稍后我将检查抛出的异常是否属于 type[x] 以执行特定操作。
你不是抛出异常,而是异常的 class (只需阅读编译器错误消息......)。 你必须抛出一个异常实例。
case x:Exception => throw new CustomException("whatever")
更改您的异常 class 定义也将有所帮助,如下所示:
case class customException(smth:String) extends Exception(smth)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.