美文网首页
Swift创建Error对象

Swift创建Error对象

作者: 一誠 | 来源:发表于2019-09-25 16:48 被阅读0次
2019-09-03.jpg

Error

在OC中,经常使用的NSError是一个类,使用其自带的类方法可以很方便地构造出一个NSError对象。 在Swift中也可以使用NSError,使用初始化方法快速得到一个代表错误的对象。

NSError(domain: "com.xx.***", code: 0, userInfo: ["key":""])

在Swift中还可以使用Error、LocalizedError协议来实现创建一个error对象(LocalizedError是Error子协议)。创建一个结构体实现Error协议并重写协议里面属性的get方法,实现如下,init的方法可实现也可以不实现。

struct BaseError : LocalizedError {
    
    /// 描述
    var desc = "未知错误"
    
    /// 原因
    var reason = ""
    
    /// 建议
    var suggestion = ""
    
    /// 帮助
    var help = ""
    
    /// 必须实现,否则报The operation couldn’t be completed.
    var errorDescription: String? {
        return desc
    }
    
    var failureReason: String? {
        return reason
    }
    
    var recoverySuggestion: String? {
        return suggestion
    }
    
    var helpAnchor: String? {
        return help
    }
    
    init(_ desc: String) {
        self.desc = desc
    }
}

fatalError

致命错误,无条件的打印出给定的信息同时终止程序。

使用的场景:

  1. 父类中的某些方法,不想让别人调用,可以在方法中加上fatalError,这样子类如果想到用必须重写

  2. 对于其他一切我们不希望别人随意调用,但是又不得不去实现的方法,我们都应该使用 fatalError 来避免任何可能的误会。

Swift Error 的介绍和使用
喵神FATALERROR
苹果文档Error
廖雪峰python

相关文章

  • Swift创建Error对象

    Error 在OC中,经常使用的NSError是一个类,使用其自带的类方法可以很方便地构造出一个NSError对象...

  • Swift如何创建Error对象

    在Objc中,经常使用的NSError是一个类,使用其自带的类方法可以很方便地构造出一个NSError对象来。即便...

  • OC 创建对象和 Swift 创建对象的区别

    Objective-C创建对象的方法和 Swift 天差地别,Swift 创建对象的步骤可以简要总结为: 自底向上...

  • Swift 创建 Error、抛出或捕获异常

    在Swift,Error不是一个类,它是个协议,所以就需要我们来实现定义一个类实现异常的创建。 创建Error类 ...

  • javascript中的内置对象Error类型对象

    Error 通过Error的构造器可以创建一个错误对象。当运行时错误产生时,Error的实例对象会被抛出。Erro...

  • Swift中的懒加载

    OC中只要对象为nil 就会重新创建对象.Swift中为nil也算创建对象成功了, 因为Swift懒加载包含了可选值

  • Swift底层进阶--006:内存管理

    强引用 Swift使用ARC管理内存OC创建实例对象,默认引用计数为0Swift创建实例对象,默认引用计数为1 上...

  • Go 文件I/O操作

    error接口 创建error 对象 自定义错误 panic 示例1 内置的panic()函数引发的panic异常...

  • 理解js中的Error

    通过Error构造器我们可以创建一个错误对象,当程序运行出错时,Error的实例对象就会被抛出。 语法 messa...

  • Swift基础学习①

    SWift介绍 SWift初体验 常量&变量 创建对象补充 数据类型 逻辑分支 循环的介绍

网友评论

      本文标题:Swift创建Error对象

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