0
我有一个for循环,我期待IndexOutOfBoundsException
。我想在引发这个特定异常时抛出一个自定义异常。目前,我有这样的:如何捕捉异常并抛出不同的异常
try {
for (i <- 0 until end) {
// do something
}
} catch {
case e: IndexOutOfBoundsException =>
throw CustomException("Raised expected IndexOutOfBoundsException", e)
}
然而,在运行上面的代码时,编译器会告诉我的IndexOutOfBoundsException
升高和不我的自定义异常。我需要做些什么来提高我的自定义异常?
自定义异常定义为:
case class CustomException(private val message: String = "", private val cause: Throwable = None.orNull) extends Exception(message, cause)
你可以发布你从编译器得到的异常吗?我得到一个'CusomException'使用这个。 – Shaido
@Shaido我得到了IndexOutOfBounds异常,而不是自定义异常。 – franklin
程序是否进入代码的catch部分?尝试调试/打印一些东西,看看是否是这种情况。我能想到的唯一的事情就是它通常是'抛出新的CustomException',带'new'关键字,但我认为这不重要。 – Shaido