GolangMGO —恐慌:没有可访问的服务器

GolangMGO —恐慌:没有可访问的服务器,第1张

Golang / MGO —恐慌:没有可访问的服务器

运行您发布代码的以下版本。尽量不要修改代码,至少不要更改行号的位置。这样,如果您发布堆栈跟踪,则数字将匹配。

package mainimport (    "fmt"    "time")import (    "labix.org/v2/mgo")func connectToMongo() bool {    ret := false    fmt.Println("enter main - connecting to mongo")    // tried doing this - doesn't work as intended    defer func() {        if r := recover(); r != nil { fmt.Println("Detected panic") var ok bool err, ok := r.(error) if !ok {     fmt.Printf("pkg:  %v,  error: %s", r, err) }        }    }()    maxWait := time.Duration(5 * time.Second)    session, sessionErr := mgo.DialWithTimeout("localhost:27017", maxWait)    if sessionErr == nil {        session.SetMode(mgo.Monotonic, true)        coll := session.DB("MyDB").C("MyCollection")        if ( coll != nil ) { fmt.Println("Got a collection object") ret = true        }    } else { // never gets here        fmt.Println("Unable to connect to local mongo instance!")    }    return ret}func main() {    if ( connectToMongo() ) {        fmt.Println("Connected")    } else {        fmt.Println("Not Connected")    }}

当MongoDB启动时,我看到:

enter main - connecting to mongoGot a collection objectConnected

当MongoDB关闭时,我看到:

enter main - connecting to mongoUnable to connect to local mongo instance!Not Connected

如果您没有看到相同的行为,请发布输出,包括看到的恐慌。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5476587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存