跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • golang 这个 panic 老是整不明白
未分類
24 10 月 2020

golang 这个 panic 老是整不明白

golang 这个 panic 老是整不明白

資深大佬 : zxCoder 1

看了教程都是些简单的例子,结果写个程序一出错连哪一行出错都没说,也不知道咋办。。。

runtime error: invalid memory address or nil pointer dereference /home/keane/app/go/src/runtime/panic.go:199 (0x443fcb)         panicmem: panic(memoryError) /home/keane/app/go/src/runtime/signal_unix.go:394 (0x443e08)         sigpanic: panicmem() /home/keane/go/pkg/mod/github.com/jinzhu/[email protected]/main.go:853 (0x969875)         (*DB).clone: dialect:           newDialect(s.dialect.GetName(), s.db), /home/keane/go/pkg/mod/github.com/jinzhu/[email protected]/main.go:204 (0x96291e)         (*DB).NewScope: dbClone := s.clone() /home/keane/go/pkg/mod/github.com/jinzhu/[email protected]/main.go:354 (0x96503b)         (*DB).Find: return s.NewScope(out).inlineCondition(where...).callCallbacks(s.parent.callbacks.queries).db /home/keane/GolandProjects/poblog/services/postService.go:168 (0x99722c)         (*PostService).List: db.Find(&posts) /home/keane/GolandProjects/poblog/controllers/postController.go:11 (0x9973ac)         ListPost: _,_=postService.List() /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:161 (0x8f2d1a)         (*Context).Next: c.handlers[c.index](c) /home/keane/GolandProjects/poblog/middlewares/corsMiddleware.go:23 (0x99747c)         Cors.func1: c.Next() /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:161 (0x8f2d1a)         (*Context).Next: c.handlers[c.index](c) /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:83 (0x906b43)         RecoveryWithWriter.func1: c.Next() /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:161 (0x8f2d1a)         (*Context).Next: c.handlers[c.index](c) /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:241 (0x905c70)         LoggerWithConfig.func1: c.Next() /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:161 (0x8f2d1a)         (*Context).Next: c.handlers[c.index](c) /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:409 (0x8fcf8c)         (*Engine).handleHTTPRequest: c.Next() /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:367 (0x8fc68d)         (*Engine).ServeHTTP: engine.handleHTTPRequest(c) /home/keane/app/go/src/net/http/server.go:2802 (0x6cb8a3)         serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) /home/keane/app/go/src/net/http/server.go:1890 (0x6c7144)         (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) /home/keane/app/go/src/runtime/asm_amd64.s:1357 (0x45c0c0)         goexit: BYTE    $0x90   // NOP    

大佬有話說 (4)

  • 資深大佬 : linxl

    “`
    /home/keane/GolandProjects/poblog/services/postService.go:168 (0x99722c)
    (*PostService).List: db.Find(&posts)
    /home/keane/GolandProjects/poblog/controllers/postController.go:11 (0x9973ac)
    ListPost: _,_=postService.List()
    /home/keane/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:161 (0x8f2d1a)
    (*Context).Next: c.handlers[c.index](c)
    /home/keane/GolandProjects/poblog/middlewares/corsMiddleware.go:23 (0x99747c)
    Cors.func1: c.Next()
    “`
    这里面其中一行?

  • 資深大佬 : BoarBoar

    你这是 gorm 抛的错误吧,调用栈里没有业务代码当然不会报行数
    这种情况问题多半在 init 函数里,又是空指针,多半是 gorm 那个 DB 什么的全局变量没初始化
    最后提醒一句,慎用 init,必须用的时候越简单越好

  • 資深大佬 : labulaka521

    那你倒是把代码贴出来 这样咋看

  • 資深大佬 : xkeyideal

    s.NewScope(out).inlineCondition(where…).callCallbacks(s.parent.callbacks.queries).db
    /home/keane/GolandProjects/poblog/services/postService.go:168 (0x99722c)
    (*PostService).List: db.Find(&posts
    已经很清楚的告诉你了,db 这个变量是空指针

    水平有待提高啊

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具