go-carbon 1.2.6 版本发布,优化错误处理机制,弃用出错直接panic的粗暴处理方式

gouguoyin · · 464 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用、农历和gorm、xorm等主流orm 如果您觉得不错,请给个star吧 github:[github.com/golang-module/carbon](https://github.com/golang-module/carbon "github.com/golang-module/carbon") gitee:[gitee.com/go-package/carbon](https://gitee.com/go-package/carbon "gitee.com/go-package/carbon") ##### 错误处理 > 如果有多个错误发生,只返回第一个错误信息,前一个错误排除后才返回下一个错误信息 ###### 场景一 ```go c := carbon.SetTimezone(PRC).Parse("123456") if c.Error != nil { // 错误处理... fmt.Println(c.Error)} fmt.Println(c.ToDateTimeString()) // 输出 the value "123456" and layout "2006-01-02 15:04:05" don't match ``` ###### 场景二 ```go c := carbon.SetTimezone("XXXX").Parse("2020-08-05") if c.Error != nil { // 错误处理... fmt.Println(c.Error)} fmt.Println(c.ToDateTimeString()) // 输出 invalid timezone "XXXX", please see the $GOROOT/lib/time/zoneinfo.zip file for all valid timezone ``` ###### 场景三 ```go c := carbon.SetTimezone("XXXX").Parse("12345678") if c.Error != nil { // 错误处理... fmt.Println(c.Error)} fmt.Println(c.ToDateTimeString()) // 输出 invalid timezone "XXXX", please see the $GOROOT/lib/time/zoneinfo.zip file for all valid timezone ``` > 建议使用SetTimezone()、Parse()、ParseByFormat()、ParseByDuration()、AddDuration()、SubDuration()等方法时先进行错误处理判断,除非你能确保传入参数无误 #### 更新日志 * 更新readme.md文档 * 完善单元测试代码覆盖率 * carbon结构体的Loc私有属性改成Loc公开属性 * carbon结构体新增Error公开属性 * 优化错误处理机制,弃用出错直接panic的粗暴处理方式 * 新增AddCenturies()方法获取N世纪后时间 * 新增AddCentury()方法获取一世纪后时间 * 新增SubCenturies()方法获取N世纪前时间 * 新增SubCentury()方法获取一世纪前时间 * 新增NextCenturies()方法获取N世纪后时间(不跨月) * 新增NextCentury()方法获取一世纪后时间(不跨月) * 新增PreCenturies()方法获取N世纪前时间(不跨月) * 新增PreCentury()方法获取一世纪前时间(不跨月)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

464 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传