swift do-try-catch语法学习

完整的do-try-catch错误处理模式的语法如下:

do {

    try 语句

     成功处理语句组

} catch 匹配错误 {

    错误处理语句组

}

在try 语句中可以产生错误,当然也可能不会产生错误,如果有错误发生,catch就会处理错误。catch代码块可以有多个,错误由哪个catch代码块处理是由catch后面的错误匹配与否而定的。错误类型的多少就决定了catch可以有多少。


例一

import Foundation

do {

//要做一些操作

let str = try NSString(contentsOfFile: filePath,encoding:   NSUTF8StringEncoding)//要尝试做的事情

} catch let err as NSError {//如果失败则进入catch代码块

err.description

}

do-try-catch这种错误模式与Java中异常处理机制非常类似,本意就是尝试(try)做一件事情,如果失败则捕获(catch)处理。

二,错误类型

在Swift中错误类型必须遵从ErrorType 协议,其次考虑到错误类型的匹配,它应该被设计成为枚举类型,枚举类型非常适合将一组相关值关联起来。

如果我们编写访问数据库表程序,实现对表数据插入、删除、修改和查询等操作,我们会需要类似如下代码的错误类型:

enum DAOError: ErrorType {

case NoData

case PrimaryKeyNull

}

NoData表示没有数据情况,PrimaryKeyNull表示表的主键(Primary Key)为空情况。

那么我们就可以通过如下代码捕获错误。

do {

//try 访问数据表函数或方法

} catch DAOError.NoData {

print("没有数据。")

} catch DAOError.PrimaryKeyNull {

print("主键为空。")

}

原出处:链接 



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,846评论 0 11
  • 1、范型范型所解决的问题 函数、方法、类型:类,结构体,枚举,元组类型,协议参数,返回值,成员函数参数,成员属性类...
    我是小胡胡123阅读 868评论 0 1
  • 清秋季 季节的审判,从未停下,这渺茫的岁月呵,又会如何。 霜色流光,梧桐稀雨霏霏 叶入梦来,...
    枝吹阅读 496评论 0 0
  • 如果水果也可人物化,牛油果应该是一位木讷憨厚的大叔。和樱桃、葡萄这些有着艳丽外表的“小妖精”们不同,它的外表平淡得...
    查小姐的小花园阅读 2,449评论 0 0