go-carbon 1.2.6 版本發佈,優化錯誤處理機制,棄用出錯直接panic的粗暴處理方式

carbon 是一個輕量級、語義化、對開發者友好的Golang時間處理庫,支持鏈式調用、農曆和gorm、xorm等主流ormgit

若是您以爲不錯,請給個star吧github

github:github.com/golang-module/carbongolang

gitee:gitee.com/go-package/carbon單元測試

錯誤處理
若是有多個錯誤發生,只返回第一個錯誤信息,前一個錯誤排除後才返回下一個錯誤信息
場景一
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
場景二
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
場景三
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()方法獲取一世紀前時間(不跨月)
相關文章
相關標籤/搜索