Maison > développement back-end > Golang > le corps du texte

Comment identifier une erreur « La base de données n'existe pas » à l'aide de « db.Exec (...) » dans Go ?

Barbara Streisand
Libérer: 2024-11-03 05:47:30
original
578 Les gens l'ont consulté

How to Identify a

Comment déterminer une condition d'erreur spécifique à partir de db.Exec(...) dans Go ?

Dans une tentative de suppression d'un fichier Postgres base de données à l'aide du pilote lib/pq, les développeurs peuvent rencontrer un défi pour faire la différence entre les erreurs standard et les erreurs « la base de données n'existe pas ». Pour gérer efficacement ces scénarios, il est essentiel de comprendre le mécanisme de gestion des erreurs fourni par le pilote.

Le package lib/pq renvoie les erreurs sous forme de structures *pq.Error, offrant divers champs pour une inspection détaillée des erreurs. Pour accéder à ces champs, utilisez le code suivant :

<code class="go">if err, ok := err.(*pq.Error); ok {
    // Manipulate err.Code, err.Message, etc.
}</code>
Copier après la connexion

*pq.Error fournit les champs suivants :

<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>
Copier après la connexion

Chaque champ représente un aspect spécifique de l'erreur, tel que la gravité de l'erreur, code, message et objets de base de données associés. Pour le cas spécifique des erreurs « la base de données n'existe pas », consultez la documentation Postgres pour déterminer le code d'erreur correspondant et effectuez des comparaisons avec err.Code si nécessaire : https://www.postgresql.org/docs/current/errcodes-appendix .html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!