一天学完spark的Scala基础语法教程十二、异常处理(idea版本)

📋前言📋

💝博客主页:红目香薰_CSDN博客-大数据,计算机理论,MySQL领域博主💝

✍本文由在下【红目香薰】原创,首发于CSDN✍

🤗2022年最大愿望:【服务百万技术人次】🤗

💝初始环境地址:【spark环境搭建(idea版本)_红目香薰-CSDN博客】💝

环境需求

环境:win10

开发工具:IntelliJ IDEA 2021.2

maven版本:3.6.3

目录

📋前言📋

环境需求

Scala 异常处理

抛出异常

捕获异常

finally 语句

总结


创建测试类【day1/demo12.scalc】,类型为【Object】

  

Scala 异常处理

Scala 的异常处理和其它语言比如 Java 类似。

Scala 的方法可以通过抛出异常的方法的方式来终止相关代码的运行,不必通过返回值。

抛出异常

Scala 抛出异常的方法和 Java一样,使用 throw 方法,例如,抛出一个新的参数异常:

throw new IllegalArgumentException

捕获异常

异常捕捉的机制与其他语言中一样,如果有异常发生,catch 字句是按次序捕捉的。因此,在 catch 字句中,越具体的异常越要靠前,越普遍的异常越靠后。 如果抛出的异常不在 catch 字句中,该异常则无法处理,会被升级到调用者处。

捕捉异常的 catch 子句,语法与其他语言中不太一样。在 Scala 里,借用了模式匹配的思想来做异常的匹配,因此,在 catch 的代码里,是一系列 case 字句,如下例所示:

package day1
import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException
object demo12 {
  def main(args: Array[String]) {
    try {
      val f = new FileReader("input.txt")
    } catch {
      case ex: FileNotFoundException =>{
        println("没有这个文件")
      }
      case ex: IOException => {
        println("IO Exception:IO异常")
      }
    }
  }
}

通过这个案例我们能知道报错的具体异常。 

finally 语句

finally 语句用于执行不管是正常处理还是有异常发生时都需要执行的步骤,实例如下:

package day1
import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException
object demo12 {
  def main(args: Array[String]) {
    try {
      val f = new FileReader("input.txt")
    } catch {
      case ex: FileNotFoundException =>{
        println("没有这个文件")
      }
      case ex: IOException => {
        println("IO Exception:IO异常")
      }
    } finally {
      println("无论对错,finally都会执行(前提是不关闭虚拟机。)")
    }
  }
}

总结

到这里有关一天学完spark的Scala基础语法教程十二、异常处理(idea版本)就结束了。

希望能对大家有所帮助。

欢迎一键三连,谢谢。

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红目香薰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值