Wie identifiziere ich einen Fehler „Datenbank existiert nicht' mithilfe von „db.Exec(...)' in Go?

Barbara Streisand
Freigeben: 2024-11-03 05:47:30
Original
578 Leute haben es durchsucht

How to Identify a

Wie ermittelt man einen bestimmten Fehlerzustand aus db.Exec(...) in Go?

Bei einem Versuch, einen Postgres zu löschen Wenn Sie eine Datenbank mithilfe des lib/pq-Treibers erstellen, kann es für Entwickler schwierig sein, zwischen Standardfehlern und „Datenbank existiert nicht“-Fehlern zu unterscheiden. Um diese Szenarien effektiv zu bewältigen, ist es wichtig, den vom Treiber bereitgestellten Fehlerbehandlungsmechanismus zu verstehen.

Das lib/pq-Paket gibt Fehler als *pq.Error-Strukturen zurück und bietet verschiedene Felder für eine detaillierte Fehlerprüfung. Um auf diese Felder zuzugreifen, verwenden Sie den folgenden Code:

<code class="go">if err, ok := err.(*pq.Error); ok {
    // Manipulate err.Code, err.Message, etc.
}</code>
Nach dem Login kopieren

*pq.Error stellt die folgenden Felder bereit:

<code class="go">type Error struct {
    Severity         string
    Code             ErrorCode
    Message          string
    Detail           string
    Hint             string
    Position         string
    InternalPosition string
    InternalQuery    string
    Where            string
    Schema           string
    Table            string
    Column           string
    DataTypeName     string
    Constraint       string
    File             string
    Line             string
    Routine          string
}</code>
Nach dem Login kopieren

Jedes Feld stellt einen bestimmten Fehleraspekt dar, z. B. Fehlerschwere, Code, Nachricht und zugehörige Datenbankobjekte. Für den speziellen Fall von „Datenbank existiert nicht“-Fehlern konsultieren Sie die Postgres-Dokumentation, um den entsprechenden Fehlercode zu ermitteln und bei Bedarf Vergleiche mit err.Code durchzuführen: https://www.postgresql.org/docs/current/errcodes-appendix .html

Das obige ist der detaillierte Inhalt vonWie identifiziere ich einen Fehler „Datenbank existiert nicht' mithilfe von „db.Exec(...)' in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!