Scala throw关键字
Scala中的throw关键字用于从方法或任何代码块中明确地抛出一个异常。在Scala中,throw关键字用于明确地抛出异常并捕获它。它也可以用来抛出自定义的异常。java和scala中的异常处理是非常相似的。除了scala将所有类型的异常都视为运行时异常,因此它不强迫我们处理它们,而是在catch块中使用模式匹配。如果结果不会被评估为任何东西,我们可以用它来代替任何其他表达式。
重要的事情要记住
- Throw表达式的返回类型为Nothing。
- Throw是用来抛出异常的关键字,而throws是用来声明异常的关键字。
- Catch块使用模式匹配来处理异常
语法
例子
val x = if (n % 10 == 0) 5 else throw new RuntimeException(“n must be a multiple of 10”)
解释: 如果n是10的倍数,那么5将被分配给x,但是如果n不是10的倍数,那么在x被初始化为任何东西之前就会抛出一个异常。正因为如此,我们可以说throw有一个任何类型的值。在scala中,抛出异常和Java是一样的。我们创建一个异常对象,然后用throw关键字来抛出它。
例子
输出
在上面的代码中,如果我们的文章少于20,我们就没有输出。当一个错误发生时,scala方法可以抛出一个异常,而不是正常返回。在下面的例子中,我们看到一个函数抛出了一个异常。
输出