Bagaimana untuk Mengenalpasti Ralat \'Pangkalan Data Tidak Wujud\' Menggunakan `db.Exec(...)` dalam Go?

Barbara Streisand
Lepaskan: 2024-11-03 05:47:30
asal
572 orang telah melayarinya

How to Identify a

Bagaimana untuk Menentukan Keadaan Ralat tertentu daripada db.Exec(...) dalam Go?

Dalam percubaan untuk memadamkan Postgres pangkalan data menggunakan pemacu lib/pq, pembangun mungkin menghadapi cabaran dalam membezakan antara ralat standard dan "pangkalan data tidak wujud". Untuk mengendalikan senario ini dengan berkesan, adalah penting untuk memahami mekanisme pengendalian ralat yang disediakan oleh pemandu.

Pakej lib/pq mengembalikan ralat sebagai *pq.Error structs, menawarkan pelbagai medan untuk pemeriksaan ralat terperinci. Untuk mengakses medan ini, gunakan kod berikut:

<code class="go">if err, ok := err.(*pq.Error); ok {
    // Manipulate err.Code, err.Message, etc.
}</code>
Salin selepas log masuk

*pq.Error menyediakan medan berikut:

<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>
Salin selepas log masuk

Setiap medan mewakili aspek ralat tertentu, seperti keterukan ralat, kod, mesej dan objek pangkalan data yang berkaitan. Untuk kes khusus ralat "pangkalan data tidak wujud", rujuk dokumentasi Postgres untuk menentukan kod ralat yang sepadan dan lakukan perbandingan terhadap err.Code seperti yang diperlukan: https://www.postgresql.org/docs/current/errcodes-appendix .html

Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Ralat \'Pangkalan Data Tidak Wujud\' Menggunakan `db.Exec(...)` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!