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 중국어 웹사이트의 기타 관련 기사를 참조하세요!