Golang / Mongo: Umgang mit der Panik „Keine erreichbare Server“
Problem:
Wann Beim Versuch, mit MGO in Go eine Verbindung zu Mongo herzustellen, wird eine Panik ausgelöst, wenn der Server nicht erreichbar ist. Wie kann diese Panik behoben werden, damit das Programm weiterhin ausgeführt werden kann?
Antwort:
Um die von MGO ausgelöste Panik zu bewältigen, wenn keine erreichbaren Server verfügbar sind, muss die Folgender Code kann verwendet werden:
import ( "labix.org/v2/mgo" ) func connectToMongo() bool { // Define a flag to indicate success ret := false defer func() { if r := recover(); r != nil { fmt.Println("Detected panic") } }() maxWait := time.Duration(5 * time.Second) session, sessionErr := mgo.DialWithTimeout("localhost", 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 }
In dieser modifizierten Version:
Durch die Einbeziehung dieser Änderungen werden die Das Programm kann mit der Panik umgehen, die dadurch entsteht, dass MGO keine Verbindung zu Mongo herstellen und die Ausführung fortsetzen kann, ohne es zu beenden.
Das obige ist der detaillierte Inhalt vonWie kann ich die Panik „Keine erreichbare Server' beheben, wenn ich mit MGO in Go eine Verbindung zu MongoDB herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!