Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang choPostgreSQL : 문서 : 17 : 42.8. PL/범퍼카 토토에서의 오류 처리Phiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

42.8. Xử lý lỗi trong PL/범퍼카 토토

Mã 범퍼카 토토 trong hoặc được gọi từ chức năng PL/범퍼카 토토 có thể gây ra lỗi, bằng cách thực hiện một số hoạt động không hợp lệ hoặc bằng cách tạo lỗi bằng cách sử dụngERRORlệnh hoặc pl/범퍼카 토토'sELOGlệnh. Những lỗi như vậy có thể bị bắt trong 범퍼카 토토 bằng 범퍼카 토토Catchlệnh. Nếu chúng không bị bắt nhưng được phép tuyên truyền đến cấp cao nhất thực thi chức năng PL/범퍼카 토토, chúng sẽ biến thành lỗi cơ sở dữ liệu.

Ngược lại, các lỗi cơ sở dữ liệu xảy ra trong PL/범퍼카 토토'sSPI_EXEC, spi_prepareSPI_EXECPCác lệnh được báo cáo là lỗi 범퍼카 토토, vì vậy chúng có thể bắt được bởi 범퍼카 토토'sCatchLệnh. Một lần nữa, nếu chúng tuyên truyền lên cấp cao nhất mà không bị bắt, họ sẽ quay lại thành lỗi cơ sở dữ liệu.

범퍼카 토토 cung cấpErrorCodeBiến có thể đại diện cho thông tin bổ sung về một lỗi trong một biểu mẫu dễ dàng cho các chương trình TCL để giải thích. Nội dung ở định dạng danh sách TCL và từ đầu tiên xác định hệ thống con hoặc thư viện báo cáo lỗi; Ngoài ra, các nội dung được để lại cho hệ thống con hoặc thư viện riêng lẻ. Đối với các lỗi cơ sở dữ liệu được báo cáo bởi các lệnh PL/TCL, từ đầu tiên làPostgres, Từ thứ hai là số phiên bản Postgres và các từ bổ sung là các cặp tên/giá trị trường cung cấp thông tin chi tiết về lỗi. Các trườngSQLSTATE, điều kiệntin nhắnluôn được cung cấp (hai lần đầu tiên đại diện cho mã lỗi và tên điều kiện như trongPostgreSQL : 문서 : 9.6 : PostgreSQL 롤 토토 코드). Các trường có thể có mặt bao gồmchi tiết, Gợi ý, bối cảnh, lược đồ, Bảng, cột, Kiểu dữ liệu, ràng buộc, câu lệnh, con trỏ_poseition, FileName, Linenofuncname.

Một cách thuận tiện để làm việc với PL/범퍼카 토토'sErrorCodeThông tin là tải nó vào một mảng, để tên trường trở thành các chỉ số mảng. Mã để làm điều đó có thể trông giống như

Nếu [bắt spi_exec $ sql_command] 
    if [lindex $ :: errorCode 0] == "postgres" 
        etray set orrorArray $ :: ErrorCode
        Nếu $ errorArray (điều kiện) == "unefined_table" 
            # đối phó với bàn bị thiếu
         khác 
            # đối phó với một số loại lỗi SQL khác

(Các dấu chấm đôi chỉ định rõ ràng rằngErrorCodelà một biến toàn cầu.)