美文网首页
Kotlin异常处理(4)throw与显示抛出异常

Kotlin异常处理(4)throw与显示抛出异常

作者: 狼性代码人 | 来源:发表于2019-06-17 10:56 被阅读0次

  大部分情况下我们接触到的异常都是由系统生成的。但也可以通过 throw 语句主动的抛出异常,语法格式如下:

throw Throwable 或其子类的示例

  所有 Throwable 或其子类的实例都可以用 throw 语句抛出。
  显示抛出异常的作用有很多,例如不像某些异常传给上层调用者,可以捕获之后重新显示抛出另外一种异常给调用者。

fun main(args: Array<String>?) {
    try {
        val date = readDate()
        println("读取的日期 = $date")
    } catch (e: MyException) {
        println("处理 MyException...")
        e.printStackTrace()
    }
}

class MyException : Exception {
    constructor() {}
    constructor(message: String) : super(message)
}

private fun readDate(): Date? {
    try {
        FileInputStream("readme.txt").use {
            InputStreamReader(it).use {
                BufferedReader(it).use {
                    // 读取文件中的一行数据
                    val str = it.readLine() ?: return null
                    val df = SimpleDateFormat("yyyy-MM-dd")
                    return df.parse(str)
                }
            }
        }

    } catch (e: FileNotFoundException) {
        throw MyException()
    } catch (e: IOException) {
        throw MyException()
    } catch (e: ParseException) {
        throw MyException()
    }
    return null
}

相关文章

  • Kotlin异常处理(4)throw与显示抛出异常

      大部分情况下我们接触到的异常都是由系统生成的。但也可以通过 throw 语句主动的抛出异常,语法格式如下:  ...

  • Java 常用工具类--Java异常

    处理程序运行阶段的错误,不是编译阶段。 异常处理分类 抛出异常 捕获异常image.png throw与throw...

  • 学习笔记8-异常处理

    异常处理 使用try和catch处理异常 抛出异常 通过throw关键字来抛出异常,执行到throw语句后,函数会...

  • 03/13牛客刷题总结

    1.java中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。 throw用于抛出异常 throws...

  • jvm如何处理异常

    异常分类 抛出异常 显示 throw手动抛出y异常 隐示 java虚拟机碰到无法继续执行的异常状态,自动抛出异常 ...

  • Flutter/Dart - 异常处理

    异常处理 dart 使用经典的try-catch处理异常,使用关键字throw抛出一个异常。 抛出异常 首先,看看...

  • php 异常处理

    从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出...

  • C++异常处理

    C++ 异常处理,根据抛出的异常数据类型,进入到相应的catch块中 throw 抛出函数外 抛出异常对象 thr...

  • Java异常处理

    异常分类: 3类,运行时异常,可查异常,错误 throw与throws的区别 throw在程序中明确的抛出异常;t...

  • EffectiveJava第9章-异常

    第57条:只针对异常的情况处理异常 用抛出(throw)、捕获(catch)、忽略ArrayIndexOutOfB...

网友评论

      本文标题:Kotlin异常处理(4)throw与显示抛出异常

      本文链接:https://www.haomeiwen.com/subject/ipbofctx.html