scala中的异常处理

简介: 执行程序,可以看到scala抛出了异常,而且没有打印出来"你好"。说明程序出现错误后就终止了。那怎么解决该问题呢?

1 异常场景



来看看下面一段代码


```

 def main(args: Array[String]): Unit = {

  val i = 10 / 0

 

   println("你好!")

 }


Exception in thread "main" java.lang.ArithmeticException: / by zero

at ForDemo$.main(ForDemo.scala:3)

at ForDemo.main(ForDemo.scala)

```


执行程序,可以看到scala抛出了异常,而且没有打印出来"你好"。说明程序出现错误后就终止了。那怎么解决该问题呢?



2 捕获异常

在scala中,可以使用异常处理来解决这个问题。在Scala里,借用了模式匹配的思想来做异常的匹配以下为scala中try...catch异常处理的语法格式:

```

try {

   // 代码

}

catch {

   case ex:异常类型1 => // 代码

   case ex:异常类型2 => // 代码

}

finally {

   // 代码

}


```


try中的代码是我们编写的业务处理代码在catch中表示当出现某个异常时,需要执行的代码在finally中,是不管是否出现异常都会执行的代码


示例:

```

try {

   val i = 10 / 0


} catch {

   case ex: Exception => println(ex.getMessage)

} finally {

   println("我始终都会执行!")

}

```


3 抛出异常


我们也可以在一个方法中,抛出异常。语法格式和Java类似,使用throw new Exception...

示例

```

 def main(args: Array[String]): Unit = {

   throw new Exception("这是一个异常")

 }


Exception in thread "main" java.lang.Exception: 这是一个异常

at ForDemo$.main(ForDemo.scala:3)

at ForDemo.main(ForDemo.scala)

```

目录
相关文章
|
5月前
|
Scala
Scala中的异常处理和模式匹配
Scala中的异常处理和模式匹配
39 1
|
大数据 Scala 开发者
大数据开发基础的编程语言的Scala的异常处理
Scala是一种支持异常处理的编程语言,它提供了try-catch-finally语句和throw表达式来捕获和处理程序中的异常。本文将介绍Scala中的异常处理机制,帮助开发者更好地理解和应用这门语言。
81 0
|
分布式计算 Java Scala
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
192 0
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
|
Scala C# Java
scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println("please input something,press Enter t...
847 0
|
SQL 消息中间件 分布式计算
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
937 0
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
|
4月前
|
分布式计算 资源调度 Java
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
45 0
|
4月前
|
分布式计算 Hadoop Scala
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
39 0
|
5月前
|
SQL 存储 分布式计算
在scala中使用spark
在scala中使用spark
272 0
|
5月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
328 2
|
5月前
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python