Golang/Mongo: "접속 가능한 서버 없음" 패닉 처리
문제:
언제 Go에서 MGO를 사용하여 Mongo에 연결을 시도하면 서버가 다음과 같은 경우 패닉이 발생합니다. 연결할 수 없습니다. 프로그램이 계속 실행되도록 하려면 이 패닉을 어떻게 복구할 수 있습니까?
답변:
접속 가능한 서버가 없을 때 MGO에서 발생하는 패닉을 처리하려면 다음 코드를 사용할 수 있습니다:
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 }
이 수정된 코드에서는 버전:
이를 통합하여 변경 사항을 통해 프로그램은 MGO가 Mongo에 연결할 수 없어 발생하는 패닉을 처리하고 종료하지 않고 계속 실행할 수 있습니다.
위 내용은 Go에서 MGO를 사용하여 MongoDB에 연결할 때 "접속 가능한 서버 없음" 패닉을 복구하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!