Scala(七)【异常处理】
一.try-catch-finally
使用场景:在获取外部链接的时候,使用异常处理,如获取mysql连接
示例
//1、获取数据库链接
var connection:Connection = null
var statement:PreparedStatement = null
try{
connection = DriverManager.getConnection("jdbc:mysql://hadoop102:3306/test")
//2、获取statement对象
statement = connection.prepareStatement("insert into table values(?,?,?)")
//3、给参数赋值
statement.setString(1,"zhangsan")
statement.setInt(2,20)
statement.setString(3,"shenzhen")
//4、执行
statement.execute()
}catch {
case e:Exception =>
}finally {
//5、资源关闭
statement.close()
connection.close()
}
二.Try(表达式).getOrElse(异常出现返回的默认值)
导入import scala.util.Try包
示例
//元祖的第二个元素有一个非'Int'数据
val list = List[(String, String)](("zhansan", "15"), ("lisi", "12"), ("wangwu", "XX"))
val intList = list.map {
case (name, age) => (name, Try(age.toInt).getOrElse(0))
}
三. 直接抛出异常
通过throws关键字直接抛出
Scala(七)【异常处理】的更多相关文章
- 【scala】异常处理
Scala 的异常处理和其它语言比如 Java 类似. 抛出异常 Scala 抛出异常的方法和 Java一样,使用 throw 方法 throw new IllegalArgumentExceptio ...
- python 基础(七) 异常处理
异常处理 一.需求 当遇到错误的时候 不让程序停止执行 而是越过错误继续执行 二.主体结构 (抓取所有异常) try: 可能出现异常的代码段 except: 出现异常以后的处理 三.处理特 ...
- Java基础学习(七) - 异常处理
1.异常概念 异常指的是程序在执行过程中出现的非正常的情况,导致JVM的非正常停止.在Java中,异常是一个类,产生异常就是创建异常对象并抛出一个异常对象. 异常指的并不是语法错误,语法错误,编译不会 ...
- asp.net core 教程(七)-异常处理、静态文件
Asp.Net Core-异常处理 Asp.Net Core-异常处理 在这一章,我们将讨论异常和错误处理.当 ASP.NET Core应用程序中发生错误时,您可以以各种不同的方式来处理.让我们来看看 ...
- 七 异常处理的两种方式(创建全局异常处理器&自定义异常)
1 创建全局异常处理器 实现HandlerExceptionResolve接口 package com.springmvc01; import javax.servlet.http.HttpServl ...
- scala的异常处理try catch
object Test { def main(args: Array[String]) { try { val f = new FileReader("input.txt") } ...
- Spark记录-Scala异常处理与文件I/O
Scala的异常处理类似许多其他语言(如Java).它不是以正常方式返回值,方法可以通过抛出异常来终止. 但是,Scala实际上并没有检查异常. 当您想要处理异常时,要像Java一样使用try {.. ...
- 2.scala控制结构、函数、异常处理
2.scala控制结构.函数.异常处理---小书匠,在线编辑器,MARKDOWN,Evernote,文件版本 a:focus { outline: thin dotted #333; outline: ...
- Scala 语法基础
一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scal ...
随机推荐
- pascals-triangle-ii leetcode C++
Given an index k, return the k th row of the Pascal's triangle. For example, given k = 3, Return[1,3 ...
- binary-tree-maximum-path-sum leetcode C++
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...
- Linux Kernel 記憶體管理機制之美<转>
转自--http://five.rdaili.com/sohu.com.php?u=Mq3EniVnae0axim7jkGhH0IhA9uho6CQso7R1aYomXWJ9UemfwUQYmKRc8 ...
- "迷途"的野指针,都快找不着北了
指针,C语言开发者表示很淦,指针的使用,很多人表示不敢直面ta,不像Java一样,有垃圾自动回收功能,我们不用担心那么多内存泄漏等问题,那C语言里边呢,指针又分为了"野指针",&q ...
- 前端调试工具DevTools处理网络请求
DevTools处理网络请求 位置:network 1.是否启用网络处理功能 2.清除历史 3.过滤器,自定义筛选 4.是否保留先前的历史,因为每次刷新会删除历史重新加载,选中后新老请求都在可做对比 ...
- ITextRenderers html生成pdf 分页+横向
1.pdf横向生成问题:格式化html是加上 @page{size:297mm 210mm;} public static String formatPdfHtml(String html,Strin ...
- Java try catch语句块中try()的括号中代码作用
了解过Mybatis,都知道DefacltSqlSession是线程不安全的.每次执行查询都需要新建一个sqlSession.因此官方给的建议写法如下: Mybatis3 从 SqlSessionFa ...
- maven添加代理,默认的.m2路径
Maven设置http代理 编辑~/.m2/settings.xml文件,添加如下配置 找到 <proxies> 节点.去掉相应的注释,设置代理信息如下: 1 <proxy> ...
- macos command 'clang' failed with exit status 1
export CC=$(which gcc)export CXX=$(which g++)pip install fbprophet CC=clang pip install gevent
- python datetime 增减以月为单位的时间段
datetime.timedelta(days=10) # 可以 datetime.timedelta(months=1) # 不可以 替代: from datetime import date ...