当前位置: 首页 > news >正文

域名和网站建设wordpress的修订

域名和网站建设,wordpress的修订,制作公司网页英语作文,网页制作软件免费版无需登录目录 第十七章 Try与异常处理1- 异常的抛出和捕获1. 异常抛出2. 异常捕获 2- 函数式的错误处理1. Try 类型2. 使用 Try3. 处理 Try 结果4. Try 的常用方法5. Try 的优势总结 end 第十七章 Try与异常处理 1- 异常的抛出和捕获 Scala 的异常处理机制与 Java非常相似, 但也有一些… 目录 第十七章 Try与异常处理1- 异常的抛出和捕获1. 异常抛出2. 异常捕获 2- 函数式的错误处理1. Try 类型2. 使用 Try3. 处理 Try 结果4. Try 的常用方法5. Try 的优势总结 end 第十七章 Try与异常处理 1- 异常的抛出和捕获 Scala 的异常处理机制与 Java非常相似, 但也有一些区别 ; 1. 异常抛出 Scala 使用 throw 关键字抛出异常, 和 Java一样 ;Scala 没有受检异常 (checked Exception) 的概念 ; 不需要声明函数可能抛出的异常 ; 示例: def divide(a: Int, b: Int): Int {if (b 0) {throw new IllegalArgumentException(Divisor cannot be zero!!!)}a / b}def main(args: Array[String]): Unit {val res divide(10, 0)println(res) // Output: java.lang.IllegalArgumentException: Divisor cannot be zero!!!}2. 异常捕获 Scala使用 try...catch...finally 结构捕获异常, 与 Java 类似, 但 catch 部分使用模式匹配来处理不同类型的异常 ;finally 子句是可选的, 用于执行无论是否发生异常都需要执行的代码, 例如关闭资源 ; 示例: def divide(a: Int, b: Int): Int {if (b 0) {throw new IllegalArgumentException(Divisor cannot be zero!!!)}a / b}try {val res divide(10, 0)println(res)} catch {case e: IllegalArgumentException println(s捕获到异常: ${e.getMessage}) // Output: 捕获到异常: Divisor cannot be zero!!!} finally {println(finally: 无论是否发生异常都会执行;) // Output: finally: 无论是否发生异常都会执行;}说明: try块: 包含可能抛出异常的代码 ;catch块: 捕获异常; Scala的 catch 块是一个模式匹配的例子, 每个 case 分支处理不同类型的异常 ;finally块: 包含总是会执行的代码 (不管是否抛出异常) ; 通常用于释放资源, 如关闭文件或数据库连接 ; Scala 的异常处理机制结合了 Java的 try...catch...finally 结构和自身的模式匹配, 提供了更灵活、更强大的异常处理能力 ; 同时, Try 类型为开发者提供了更函数式的异常处理方式, 使代码更简洁易懂 . 2- 函数式的错误处理 在Scala中, 函数式编程风格推崇使用不可变数据和纯函数, 尽量避免副作用和异常 ;但实际应用中, 异常难以完全避免 ; Scala提供了 Try 类型, 让我们可以用更函数式的方法来处理异常 ; 1. Try 类型 Try 是 Scala中用于表示可能抛出异常的操作的结果类型 ; 它有两个子类: Success[T] : 表示操作成功, 包含成功的结果值, 类型为 T ;Failure[T] : 表示操作失败, 包含抛出的异常信息, 类型为 Throwable ; 2. 使用 Try 可以使用 Try 的伴生对象的 apply 方法将可能抛出异常的代码块包起来 : 示例: import scala.util.Trydef riskyOperation(x: Int): Int {if (x 0) {throw new IllegalArgumentException(x must be positive)} else x * 2}val result: Try[Int] Try(riskyOperation(-1))println(result) // Output: Failure(java.lang.IllegalArgumentException: x must be positive)val result2: Try[Int] Try(riskyOperation(5))println(result2) // Output: Success(10)3. 处理 Try 结果 可以用模式匹配的方式处理 Try 的结果: import scala.util.{Try, Success, Failure}def riskyOperation(x: Int): Int {if (x 0) {throw new IllegalArgumentException(x must be positive)} else x * 2}val result1: Try[Int] Try(riskyOperation(-1))result1 match {case Success(value) println(sSuccess: $value)case Failure(exception) println(sFailure: ${exception.getMessage})}// Output: Failure: x must be positiveval result2: Try[Int] Try(riskyOperation(5))result2 match {case Success(value) println(sSuccess: $value)case Failure(exception) println(sFailure: ${exception.getMessage})}// Output: Success: 104. Try 的常用方法 Try 提供了一些方便地方法来处理异常, 例如: map : 如果 Try 是 Success , 则对成功的结果值应用函数, 并返回新的 Try ; 如果是 Failure , 则直接返回 Failure ;flatMap : 与 map 类似, 但函数需要返回一个 Try 类型的值 ;recover : 如果 Try 是 Failure , 则应用偏函数来处理异常, 并返回新的 Try ; 如果是 Success , 则直接返回 Success ;getOrElse : 如果 Try 是 Success, 则返回成功的结果值; 如果是 Failure, 则返回默认值 ; 5. Try 的优势 避免 try...catch 语句的嵌套, 使代码更简洁易读 ;将异常处理融入函数式编程风格, 可以使用 map 、flatMap 等高阶函数 ;更容易组合和传递可能抛出异常的操作的结果 ; 总结 Try 类型是 Scala中函数式异常处理的重要工具, 它让挖煤可以用更优雅、更简洁的方式来处理异常, 使代码更易于理解和维护 . end
http://www.w-s-a.com/news/849295/

相关文章:

  • 在哪个平台做网站比较好自动app优化
  • 有没有能帮人快速网站备案的机构个人学做网站
  • 凌云县 城市建设 网站西安市建网站
  • 织梦xml网站地图公众号公众平台
  • 长春省妇幼网站做四维学校网站系统破解版
  • 安阳免费搭建自己的网站个人网站做商城会怎样
  • 网站建设专家公司排行网站举报有奖平台
  • 程序员不是做网站的公司装修效果全景图
  • 桥东区住房和建设局网站怎么做网上问卷
  • 做期货要看哪些网站伪装的福祉 wordpress
  • 做网站需要多少费用网站建设需要懂什么语言
  • 网站手机端做app开发商城设计方案
  • 在建设厅网站上查询注销建造师查域名是否注册
  • 企业网站推广方案策划公司网站在国外打开很慢使用cdn好还是国外租用服务器好
  • 龙华o2o网站建设百度不收录什么网站吗
  • 模板搭建网站百度信息流推广
  • 移动端网站制作模板自己做的网站点击赚钱
  • 网站站长如何赚钱wordpress抓取别人网站
  • 做网站媒体专门做产品定制的网站
  • 公司企业网站建设步骤免费asp网站模板
  • 台州企业网站搭建价格做留言的网站
  • 西安网站建设q.479185700強高端网站设计定制公司
  • 网站设计是平面设计吗音频文件放到网站空间里生成链接怎么做
  • seo是对网站进行什么优化可以在哪些网站做翻译兼职
  • 南宁seo网站推广服务网站建设客户分析
  • 网站属于什么公司甜品售卖网站网页设计
  • 如何在宝塔中安装wordpressseo1888网站建设
  • 网站系统cms湖南平台网站建设制作
  • 美团网站怎么做未备案网站加速
  • 通用cms网站wordpress可以商用