Postgresql 7.4.30 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 45. PostgreSql Coding quy ước | Chuyển tiếp nhanh | Tiếp theo |
kèo bóng đá cúp c2, cảnh báo và thông báo nhật ký được tạo trong máy chủ
Mã phải được tạo bằng cách sử dụngEREPORT
hoặc anh em họ cũ của nóELOG
. Việc sử dụng chức năng này rất phức tạp
đủ để yêu cầu một số giải thích.
Có hai yếu tố cần thiết cho mỗi thông kèo bóng đá cúp c2: Mức độ nghiêm trọng
Cấp độ (từDebugđếnPanic) và một văn bản tin nhắn chính. Ngoài ra
Có các yếu tố tùy chọn, phổ biến nhất là kèo bóng đá cúp c2
Mã định danh tuân theo các quy ước SQLState của SQL Spec.EREPORT
Bản thân nó chỉ là một vỏ
chức năng, tồn tại chủ yếu để thuận tiện cho cú pháp của
Làm cho việc tạo tin nhắn trông giống như một cuộc gọi chức năng kèo bóng đá cúp c2 c
Mã nguồn. Tham số duy nhất được chấp nhận trực tiếp bởiEREPORT
là mức độ nghiêm trọng. Chính
văn bản tin nhắn và bất kỳ yếu tố tin nhắn tùy chọn nào được tạo bởi
Gọi các chức năng phụ trợ, chẳng hạn nhưerrmsg
, kèo bóng đá cúp c2EREPORT
cuộc gọi.
Một cuộc gọi điển hình đếnEREPORT
có thể
trông giống như thế này:
EREPORT (kèo bóng đá cúp c2, (errcode (errcode_division_by_zero), errmsg ("Division by Zero")));
Điều này chỉ định mức độ nghiêm trọng của kèo bóng đá cúp c2ERROR(một kèo bóng đá cúp c2 chạy bộ). Theerrcode
cuộc gọi Chỉ định mã kèo bóng đá cúp c2 SQLSTATE
Sử dụng một macro được xác định trongsrc/bao gồm/utils/errcodes.h. Theerrmsg
12711_12888
Đây là một ví dụ phức tạp hơn:
EREPORT (kèo bóng đá cúp c2, (errcode (errcode_ambiguter_function), errmsg ("hàm %s không phải là duy nhất", func_signature_string (funcname, nargs, thực tế_arg_types)), Errhint ("Không thể chọn chức năng ứng cử viên tốt nhất." "Bạn có thể cần thêm typecasts rõ ràng.")));
Điều này minh họa việc sử dụng mã định dạng để nhúng thời gian chạy giá trị thành một văn bản tin nhắn. Ngoài ra, một tùy chọn"Gợi ý"Tin nhắn được cung cấp.
Các thói quen phụ trợ có sẵn choEREPORT
là:
errcode
(SQLerrCode)
Chỉ định mã định danh kèo bóng đá cúp c2 SQLSTATE cho
tình trạng. Nếu thói quen này không được gọi, kèo bóng đá cúp c2
định danh mặc định làerrCode_Internal_errorKhi mức độ nghiêm trọng của kèo bóng đá cúp c2
Cấp độERRORhoặc cao hơn,errcode_warningKhi mức kèo bóng đá cúp c2 làcảnh kèo bóng đá cúp c2, nếu không (choThông kèo bóng đá cúp c2và bên dưới)errCode_successful_completion. kèo bóng đá cúp c2 khi những điều này
mặc định thường thuận tiện, luôn luôn nghĩ rằng họ có phải là
thích hợp trước khi bỏ quaerrcode
() cuộc gọi.
errmsg
(const char *msg, ...)
Chỉ định văn bản thông báo kèo bóng đá cúp c2 chính và có thể
giá trị thời gian chạy để chèn vào nó. Chèn được chỉ định
quaSprintf
-Style Mã định dạng.
Ngoài các mã định dạng tiêu chuẩn được chấp nhận bởiSprintf
, Mã định dạng%Mcó thể được sử dụng để chèn kèo bóng đá cúp c2
Tin nhắn được trả về bởiStrerror
Đối với giá trị hiện tại củaerrno.
[1] %MKhông yêu cầu bất kỳ mục tương ứng nào kèo bóng đá cúp c2
danh sách tham số choerrmsg
.
Lưu ý rằng chuỗi tin nhắn sẽ được chạy quaGetText
Để bản địa hóa có thể
Mã định dạng được xử lý.
errmsg_Internal
(const char
*tin nhắn, ...) giống nhưerrmsg
15564_15719"Không thể xảy ra"Các trường hợp có lẽ không
Đáng giá để sử dụng nỗ lực dịch trên.
errdetail
(const char *msg,
...) cung cấp tùy chọn"Chi tiết"Tin nhắn; Điều này sẽ được sử dụng khi có thêm
thông tin có vẻ không phù hợp để đưa vào chính
tin nhắn. Chuỗi tin nhắn được xử lý theo cùng một cách
Đối vớierrmsg
.
errhint
16310_16362"Gợi ý"Tin nhắn; Điều này sẽ được sử dụng khi đưa ra các đề xuất về
Cách khắc phục sự cố, trái ngược với các chi tiết thực tế về
Điều gì đã xảy ra. Chuỗi tin nhắn được xử lý chỉ kèo bóng đá cúp c2
Tương tự như choerrmsg
.
errcontext
(const char *msg,
...) thường không được gọi trực tiếp từ16825_16834
Trang web tin nhắn; đúng hơn là nó được sử dụng kèo bóng đá cúp c2ERROR_CONTEXT_STACK16925_17147errmsg
. Không giống như
Các chức năng phụ trợ khác, điều này có thể được gọi nhiều hơn một lần
mỗiEREPORT
cuộc gọi; các
do đó các chuỗi liên tiếp được cung cấp được kết hợp với
Tách Newline.
errPoseition
(int cursorpos)
Chỉ định vị trí văn bản của một kèo bóng đá cúp c2 trong truy vấn
sợi dây. Hiện tại nó chỉ hữu ích cho các kèo bóng đá cúp c2 được phát hiện trong
các giai đoạn phân tích từ vựng và cú pháp của truy vấn
xử lý.
errcode_for_file_access
() là
một chức năng thuận tiện chọn một sqlstate thích hợp
Mã định danh kèo bóng đá cúp c2 cho kèo bóng đá cúp c2 trong truy cập tệp liên quan đến truy cập tệp
cuộc gọi hệ thống. Nó sử dụng đã lưuerrnoĐể xác định mã kèo bóng đá cúp c2 nào sẽ tạo. Thường là điều này
nên được sử dụng kết hợp với%mTrong văn bản thông báo kèo bóng đá cúp c2 chính.
errcode_for_socket_access
()
là một hàm tiện lợi chọn một chức năng thích hợp
Định danh kèo bóng đá cúp c2 SQLSTATE cho kèo bóng đá cúp c2 liên quan đến ổ cắm
cuộc gọi hệ thống.
Có một hàm cũELOG
Điều đó vẫn được sử dụng rất nhiều. MỘTELOG
gọi
ELOG (cấp, "Chuỗi định dạng", ...);
hoàn toàn tương đương với
18709_18773
Lưu ý rằng SQLState Errcode luôn được mặc định và
Chuỗi tin nhắn không phải là dịch. Vì thế,ELOG
chỉ nên sử dụng
kèo bóng đá cúp c2 nội bộ và ghi nhật ký gỡ kèo bóng đá cúp c2 cấp thấp. Bất kỳ thông báo nào là
có khả năng được người dùng thông thường quan tâmEREPORT
. Tuy nhiên, có
đủ nội bộ"Không thể xảy ra"kèo bóng đá cúp c2
kiểm tra trong hệ thốngELOG
IS
vẫn được sử dụng rộng rãi; nó được ưa thích cho những tin nhắn đó cho nó
Đơn giản chứng minh.
Lời khuyên về việc viết các thông báo kèo bóng đá cúp c2 tốt có thể được tìm thấy trongPhần 45.3.
[1] |
nghĩa là giá trị hiện tại khi |