美文网首页
9.1 抛出异常

9.1 抛出异常

作者: LucXion | 来源:发表于2020-06-09 11:16 被阅读0次

主动抛出异常,抛出而不处理会使程序直接中断

func showError(parama:Bool)throws {
    if parama {
    }else {
        throw MyError.QuoteError
    }
}
try showError(parama: false) // 主动在函数内抛出异常:throws、try
if true {
}else {
    throw MyError.SystemError // 主动在函数外部抛出异常
}
do-catch捕获异常、try?捕获异常
var a:String?
var b:String = ""
func MyFountion()throws ->Int{
    print("执行")
    if let temp = a {
        b = temp
    }else {
        throw MyError.SystemError
    }
    return 4
}
var temp = try? MyFountion()
if let _ = temp {
    print("执行成功")
}else {
    print("执行失败")
}
do {
    try MyFountion()
} catch MyError.QuoteError {
  print("捕获错误类型")
} catch MyError.SystemError{
    print("捕获到了")
} catch {
    print("崩溃但没捕获")
}

延迟执行操作

func MyFountion(){
    defer {
        print("延迟执行结构,可以在任意情况下导致的函数执行中断或结束后执行,如抛出异常、return等")
    }
}

相关文章

  • 9.1 抛出异常

    主动抛出异常,抛出而不处理会使程序直接中断 延迟执行操作

  • 异常抛出

    本章主要内容 用try语句捕获异常 常见异常处理 用raise 和assert抛出异常 自定义异常 常用异常名 总...

  • 抛出异常

    在方法执行的时候,遇到不匹配的地方,加入异常抛出机制,可以清晰的知道异常点,并很好的解决。 throw new E...

  • 抛出异常

  • 抛出异常

    MSSQL 在存储过程中进程会处理一些逻辑性的错误,如:将RMB转换为USD时,没有查询到想要的汇率 这个时候最好...

  • 异常抛出

    异常抛出之 Throw 抛出一个已知异常 打印效果: 从打印结果来看,一旦发生异常后面的逻辑就不会执行了。 Cat...

  • jvm如何处理异常

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

  • 子类继承父类方法

    父类方法抛出异常,子类继承父类,重写父类方法时,抛出的异常“子类抛出的异常类型不能比父类抛出的异常类型更宽泛”。 ...

  • [转]构造函数、析构函数抛出异常的问题

    构造函数、析构函数抛出异常的问题 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用...

  • Python异常处理(个人笔记)

    Python3 异常处理 捕获全部异常 各种异常清单 抛出异常 若想知道是否抛出了异常

网友评论

      本文标题:9.1 抛出异常

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