>  기사  >  백엔드 개발  >  Go에서 `db.Exec(...)`을 사용하여 \"데이터베이스가 존재하지 않습니다\" 오류를 식별하는 방법은 무엇입니까?

Go에서 `db.Exec(...)`을 사용하여 \"데이터베이스가 존재하지 않습니다\" 오류를 식별하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 05:47:30578검색

How to Identify a

Go의 db.Exec(...)에서 특정 오류 조건을 확인하는 방법은 무엇입니까?

Postgres를 삭제하려는 시도에서 lib/pq 드라이버를 사용하는 데이터베이스를 사용하는 경우 개발자는 표준 오류와 "데이터베이스가 존재하지 않습니다" 오류를 구별하는 데 어려움을 겪을 수 있습니다. 이러한 시나리오를 효과적으로 처리하려면 드라이버에서 제공하는 오류 처리 메커니즘을 이해하는 것이 중요합니다.

lib/pq 패키지는 오류를 *pq.Error 구조체로 반환하며 자세한 오류 검사를 위한 다양한 필드를 제공합니다. 이러한 필드에 액세스하려면 다음 코드를 사용하십시오.

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

*pq.Error는 다음 필드를 제공합니다.

<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>

각 필드는 오류 심각도와 같은 특정 오류 측면을 나타냅니다. 코드, 메시지 및 관련 데이터베이스 개체. "데이터베이스가 존재하지 않습니다"라는 특정 오류의 경우 Postgres 설명서를 참조하여 해당 오류 코드를 확인하고 필요에 따라 err.Code와 비교를 수행하십시오. https://www.postgresql.org/docs/current/errcodes-appendix .html

위 내용은 Go에서 `db.Exec(...)`을 사용하여 \"데이터베이스가 존재하지 않습니다\" 오류를 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.