当前位置: 首页 > news >正文

网站一般用什么免费字体wordpress登录才能看内容

网站一般用什么免费字体,wordpress登录才能看内容,网站使用的数据库主要有哪些,闲置电脑做网站服务器错误处理实践 我们在go语言中设计error的处理体系时候, 一般都会去做下面两点 直接使用errors.New()生成error接口的值 扩展error接口, 并定义扩展error接口的实现类型 error接口是什么? go语言的error是一个接口类型, 其源码如下: type error interface {Error() string…错误处理实践 我们在go语言中设计error的处理体系时候, 一般都会去做下面两点 直接使用errors.New()生成error接口的值 扩展error接口, 并定义扩展error接口的实现类型 error接口是什么? go语言的error是一个接口类型, 其源码如下: type error interface {Error() string }我们可以定义它的实现类型, 比如我们经常使用到的errors.New()方法, 返回值为一个error接口的实现类型*errorString的结构体字面量 package errorsfunc New(text string) error {return errorString{text} }type errorString struct {s string }func (e *errorString) Error() string {return e.s }//package main xxxerr : errors.New(xxx)所以我们可以直接调用errors.New()为我们生成一个error接口的值 扩展的error接口 我们为什么需要对error接口进行扩展呢?, 原因是error的实现类型范围太大了, 细粒度不够小, 所以我们需要实现更加精细的控制, 关于这种设计我们可以参考go语言标准库中的一些error处理代码, 比如下面的 type Error interface {//嵌入了error接口, 实现net.Error也会实现errorerror//扩展Timeout() boolTemporary() bool }然后我们又可以定义一个类型来实现这个扩展错误接口类型, 比如下面这个OpError: type OpError struct {Op stringNet stringSource AddrAddr AddrErr error }//实现函数1 func (e *OpError) Error() string {return }//下面是实现函数2 func (e *OpError) Timeout() bool {//对应的处理逻辑return true }//下面是实现函数2 func (e *OpError) Temporary() bool {} 我们发现该结构体中存在一个名字叫做Err的类型为error的字段, 它代表了该错误的潜在错误, 有可能OpError类型的错误值还包含了AddrError这种错误 通过这种类型建立起树形的错误体系, 用统一字段建立可追溯的链式错误关联, 我们就可以建立起来一套优秀的错误处理机制 为了更好的表示, 我画了一张图 具体的错误 因为Go语言的error是一个接口, 所以这个它的值的实际类型是非常复杂的, 于是我们就需要去判断它的值的一个实际类型 如果错误值在某一个范围内, 我们可以使用类型断言表达式或者类型断言switch语句进行判断 对于已有相应变量且类型相同的一系列错误值, 一般直接使用判等操作 switch语句 没有相应变量且类型未知的一系列错误值, 只能使用其错误信息的字符串表示形式来判断 下面我们分别来看上面的内容: 首先是第一点, 已知错误值的范围比如: {os.PathError|os.LinkError|os.SyscallError|exec.Error}, 是它们中的一个, 我们可以直接使用类型断言switch, 然后返回潜在错误类型 func underlyingError(err error) error {switch err : err.(type) {case *os.PathError:return err.Errcase *os.LinkError:return err.Errcase *os.SyscallError:return err.Errcase *exec.Error:return err.Err}return err } 当我已经知道某个错误是哪一个, 我们直接使用判等操作switch, printError : func(i int, err error) {if err nil {fmt.println(nil error)return}err underlyingError(err)switch err { case os.ErrClosed: fmt.Printf(error(closed)[%d]: %s\n, i, err) case os.ErrInvalid: fmt.Printf(error(invalid)[%d]: %s\n, i, err) case os.ErrPermission: fmt.Printf(error(permission)[%d]: %s\n, i, err) } } 通过上面这种直接判等操作, 我们就可以锁定具体的错误值了 对于上面两种情况, 我们都会有比较明确的方法去解决, 但是我们对一个错误值可能代表的含义知道的很少, 那么就只能通过错误信息去判断了
http://www.hkea.cn/news/14307701/

相关文章:

  • 丽江网页制作泉州seo按天计费
  • 网站建设与管理视频如何做网站规划
  • 网站开发软件排名wordpress 点击 排名
  • 东莞南城网站制作页面设计参考
  • 做网站备案的公司南宁关键词排名
  • 外贸展示企业网站游戏代理是什么
  • 威联通做网站泉州学校网站开发
  • 包装公司网站模板下载wordpress header.php在哪里
  • 长春移动网站建设淄博张店外贸建站公司
  • 湖南长工工程建设有限公司官方网站泉州刚刚发生的重大新闻
  • wordpress 转义昆明seo推广外包
  • 网站开发规格网站建设可以使用模板么
  • 格尔木哪里有做网站的欧洲人喜欢什么样的服务器
  • 网站建设与微信公众号绑定校园网站建设计划
  • 网站服务器租用价格怎么算网站建设与管理的实训
  • 梓潼网站建设浙江华企做的网站效果如何
  • 做个网站需要多少钱?有没有旧装修要拆wordpress建个人博客
  • html网站模板建站手机资讯类网站模板
  • 面料 做网站福州网络推广运营
  • 做有弹幕视频网站一个下载网站
  • 长链接转化成短链接江苏seo培训
  • 武进建设局网站网站换行代码
  • 自己搭建网站网站建设需要会
  • dnf盗号网站怎么做wap音乐网站源码
  • 北京国家建设部网站首页网站推广技巧
  • 做网站素材在哪找网络营销工程师前景
  • 做网站应怎么缴税济南seo外包公司
  • 企业建站流程在线手机网页制作
  • 网站开发最适合的浏览器深圳市市场监督管理局官网
  • 手机端网站建设广告词做英文的小说网站