Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6
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 chohiện tạiPhiên bản hoặc một kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai#

8660_8814ERRORlệnh hoặc kèo bóng đá hôm nay và ngày mai'sELOGLệnh. Những lỗi như vậy có thể bị bắt kèo bóng đá hôm nay và ngày mai TCL bằng TCLCatchLệnh. Nếu một lỗi 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/TCL, thì nó được báo cáo là lỗi SQL kèo bóng đá hôm nay và ngày mai truy vấn gọi của hàm.

Ngược lại, các lỗi SQL xảy ra kèo bóng đá hôm nay và ngày mai'sSPI_EXEC, spi_prepareSPI_EXECPCác lệnh được báo cáo là kèo bóng đá hôm nay và ngày mai TCL, vì vậy chúng có thể bắt được bởi TCL'sCatchlệnh. .

TCL cung cấpErrorCodeBiến có thể đại diện cho thông tin bổ sung về một lỗi kèo bóng đá hôm nay và ngày mai 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;Postgres, Từ thứ hai là số phiên bản PostgreSQL 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ề kèo bóng đá hôm nay và ngày mai. 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ư kèo bóng đá hôm nay và ngày maiPhụ lục A). 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 kèo bóng đá hôm nay và ngày mai'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ư

if [bắt spi_exec $ sql_command]

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