scala 函数内部的错误处理

维卡斯·萨克塞纳

我在下面的 Scala 代码中遇到了问题:

class ClassMyHelper {

  protected var logger: Logger = LogManager.getLogger(classOf[AvroHelper])

   def somefunc(schema: Schema, datum: GenericRecord): Array[Byte] = {
    <code>
    var byteData: Array[Byte] = null
    try {
      <code>
      byteData = os.toByteArray()
      //byteData
    } catch {
      case e: IOException =>
        logger.error("IOException encountered!! ", e)

      case e: Exception =>
        logger.error("Something went wrong!! ", e)

    } finally try os.close()
    catch {
      case e: IOException =>
        logger.error("IOException encountered while closing output stream!! ", e)

      case e: Exception =>
        logger.error("Something went wrong while closing output stream!! ", e)

    }
    byteData //Unreachable code
  }
}

问题是 somefunc 函数的最后一行出现了无法访问的代码错误。你能帮我确定我在这里做错了什么吗?

jwvh

如果您finally {}在第二个catch之后添加一个事情似乎就清楚了。我不知道为什么。我从不使用try/catch/finally自己。我更喜欢Try标准库中的 Scala类。

顺便说一句,下次您发布代码时,请包含所需的imports,并检查以确保您的代码按显示进行编译。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala:错误处理和异常匹配

来自分类Dev

Scala / Java错误处理NullPointerException

来自分类Dev

Scala错误处理:尝试还是选择?

来自分类Dev

Scala Spark行级错误处理

来自分类Dev

Scala中的商务逻辑错误处理

来自分类Dev

使用期货在Scala中进行错误处理

来自分类Dev

在C中使用Scala的Option或Rust的Result错误处理

来自分类Dev

JSX 映射函数内部的错误处理

来自分类Dev

Python内部错误处理

来自分类Dev

libxml函数的错误处理

来自分类Dev

Scala Futures:每个新创建或映射的异常的默认错误处理程序

来自分类Dev

将Scala中的CSV读取到具有错误处理的案例类实例中

来自分类Dev

Scala Futures:每个新创建或映射的异常的默认错误处理程序

来自分类Dev

函数的后处理错误处理

来自分类Dev

TotalHours函数错误处理

来自分类Dev

类模块函数中的错误处理

来自分类Dev

Bash:嵌套函数的错误处理

来自分类Dev

错误处理匿名函数的最佳实践

来自分类Dev

Javascript函数中的错误处理

来自分类Dev

void函数的ObjectiveC错误处理

来自分类Dev

类模块函数中的错误处理

来自分类Dev

Swift中的函数错误处理

来自分类常见问题

Scala错误处理-如果我的Scala代码的一部分失败,我想将function()作为程序的一部分执行

来自分类Dev

用于错误处理的异步处理的函数签名

来自分类Dev

PostScript内部错误处理程序过程的描述

来自分类Dev

在Spring Web Flow内部上载文件-错误处理?

来自分类Dev

Scala内部函数中的占位符

来自分类Dev

捕获Scala期货中未处理的错误

来自分类Dev

在Scala中处理单子错误?尝试与验证