이 문서는 지원되지 않는 버전의 Postgre토토 사이트 순위을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다Postgre토토 사이트 순위 : 문서 : 17 : 34.8. 토토 핫 처리버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

30.9. 오류 처리

이 섹션에서는 예외적 인 방법을 설명합니다 임베디드 토토 사이트 순위 프로그램의 조건 및 경고. 거기 있습니다 이를위한 몇 가지 비 독점 시설.

30.9.1. 콜백 설정

오류와 경고를 포착하는 간단한 방법 중 하나는 특정 조건이있을 때마다 실행될 특정 조치 발생합니다. 일반적으로 :

언제라도 EXEC 토토 사이트 순위조건 Action;

조건중 하나 일 수 있습니다 수행원:

토토 사이트 순위error

오류가 발생할 때마다 지정된 조치가 호출됩니다 토토 사이트 순위 문을 실행하는 동안 발생합니다.

토토 사이트 순위WARNING

지정된 조치는 경고 할 때마다 호출됩니다 토토 사이트 순위 문을 실행하는 동안 발생합니다.

찾기

지정된 조치는 토토 사이트 순위이있을 때마다 호출됩니다 명령문은 0 행을 검색하거나 영향을 미칩니다. (이 조건 오류는 아니지만 취급에 관심이있을 수 있습니다. 특별히.)

Action중 하나 일 수 있습니다 수행원:

계속

이것은 효과적으로 조건이 무시되었음을 의미합니다. 이것은 기본입니다.

GOTO레이블
이동레이블

지정된 레이블로 점프 (C 사용gotoStatement).

토토 사이트 순위print

표준 오류로 메시지를 인쇄합니다. 이것은 유용합니다 간단한 프로그램 또는 프로토 타이핑 중. 세부 사항 메시지를 구성 할 수 없습니다.

STOP

출구 (1)프로그램을 종료하십시오.

break

c 문장 실행break. 이것은 루프에서만 사용해야합니다 또는스위치진술.

Call이름(args)
do이름(args)

지정된 C 함수를 지정된 상태로 호출하십시오 논쟁.

토토 사이트 순위 표준은 동작 만 제공합니다계속andgoto(및이동).

여기에 간단하게 사용하고 싶은 예가 있습니다. 프로그램. 경고가 발생할 때 간단한 메시지를 인쇄하고 오류가 발생하면 프로그램을 중단합니다.

토토 사이트 순위warning 토토 사이트 순위print가있을 때마다 EXEC 토토 사이트 순위;
토토 사이트 순위error 중지 될 때마다 EXEC 토토 사이트 순위;

진술exec 토토 사이트 순위 언제라도is C 문자가 아닌 토토 사이트 순위 사전 처리기의 지침. 그만큼 설정하는 오류 또는 경고 조치는 모든 임베디드 토토 사이트 순위에 적용됩니다. 핸들러가있는 지점 아래에 나타나는 진술 동일한 조건에 대해 다른 조치가 설정되지 않는 한 설정 첫 번째exec 토토 사이트 순위 언제라도및 토토 사이트 순위 문은 조건을 유발합니다. C 프로그램의 제어 흐름. 그래서 둘 중 어느 것도 다음 C 프로그램 발췌문은 원하는 효과가 있습니다.

/*
 * 잘못된
 */
int main (int argc, char *argv [])

    ...
    if (verbose) 
        토토 사이트 순위WARNING 토토 사이트 순위PRINT가있을 때마다 EXEC 토토 사이트 순위;

    ...
    Exec 토토 사이트 순위 Select ...;
    ...
/*
 * 잘못된
 */
int main (int argc, char *argv [])

    ...
    set_error_handler ();
    ...
    Exec 토토 사이트 순위 Select ...;
    ...

정적 void set_error_handler (void)

    토토 사이트 순위ERROR가 중지 될 때마다 토토 사이트 순위 EXEC;

30.9.2. 토토 사이트 순위CA

보다 강력한 오류 처리를 위해 내장 된 토토 사이트 순위 인터페이스는 이름의 글로벌 변수를 제공합니다토토 사이트 순위CA다음 구조가 있습니다.

struct

    char 토토 사이트 순위caid [8];
    긴 토토 사이트 순위abc;
    긴 토토 사이트 순위code;
    구조

        int 토토 사이트 순위errml;
        char 토토 사이트 순위errmc [70];
     토토 사이트 순위errm;
    char 토토 사이트 순위errp [8];
    긴 토토 사이트 순위errd [6];
    char 토토 사이트 순위warn [8];
    char 토토 사이트 순위state [5];
 토토 사이트 순위ca;

(멀티 스레드 프로그램에서는 모든 스레드가 자동으로됩니다 자체 사본토토 사이트 순위CA. 이것은 작동합니다 표준 C 글로벌 변수의 처리와 유사errno.)

토토 사이트 순위CA두 경고와 오류. 여러 경고 나 오류가 발생하는 경우 진술 실행,토토 사이트 순위CA마지막 정보 만 포함됩니다.

마지막에서 오류가 발생하지 않은 경우토토 사이트 순위Statement,토토 사이트 순위ca.토토 사이트 순위code|토토 사이트 순위ca.토토 사이트 순위state"00000". 경고 또는 오류가 발생하면토토 사이트 순위ca.토토 사이트 순위code부정적이고토토 사이트 순위ca.토토 사이트 순위state"00000". 긍정적토토 사이트 순위ca.토토 사이트 순위code무해한 상태를 나타냅니다. 마지막 쿼리가 0 행을 반환했습니다.토토 사이트 순위codeand토토 사이트 순위state두 가지 다른 오류 코드 체계입니다. 세부 사항은 아래에 나타납니다.

마지막 토토 사이트 순위 문이 성공하면토토 사이트 순위CA.토토 사이트 순위ERRD [1]해당되는 경우 처리 된 행 및토토 사이트 순위CA.토토 사이트 순위ERRD [2]수를 포함합니다 명령에 적용 가능한 경우 처리 또는 반환 된 행.

오류 또는 경고의 경우토토 사이트 순위CA.토토 사이트 순위ERRM.토토 사이트 순위ERRMC문자열이 포함됩니다 오류를 설명합니다. 필드토토 사이트 순위CA.토토 사이트 순위ERRM.토토 사이트 순위ERRML길이를 포함합니다 저장된 오류 메시지토토 사이트 순위CA.토토 사이트 순위ERRM.토토 사이트 순위ERRMC(의 결과strlen (), 정말 흥미롭지 않습니다 C 프로그래머의 경우).

경고의 경우토토 사이트 순위ca.토토 사이트 순위warn [2]로 설정되었습니다W. (다른 모든 경우에는 무언가로 설정됩니다 와 다릅니다W.) if토토 사이트 순위ca.토토 사이트 순위warn [1]로 설정되었습니다W, 저장되었을 때 값이 잘 렸습니다. 호스트 변수에서.토토 사이트 순위ca.토토 사이트 순위warn [0]로 설정되었습니다W다른 사람이라면 요소는 경고를 표시하도록 설정되어 있습니다.

필드토토 사이트 순위CAID, 토토 사이트 순위CABC, 토토 사이트 순위ERRP및 나머지 요소토토 사이트 순위errdand토토 사이트 순위warn현재 유용한 것은 없습니다 정보.

구조토토 사이트 순위CA정의되지 않았습니다 토토 사이트 순위 표준에서는 다른 여러 토토 사이트 순위에서 구현됩니다. 데이터베이스 시스템. 정의는 핵심에서 비슷하지만 휴대용 응용 프로그램을 작성하려면 다른 구현을주의 깊게 조사하십시오.

30.9.3. 토토 사이트 순위statevs토토 사이트 순위code

필드토토 사이트 순위ca.토토 사이트 순위stateand토토 사이트 순위ca.토토 사이트 순위code두 가지가 다릅니다 오류 코드를 제공하는 체계. 둘 다 토토 사이트 순위에 지정되어 있습니다 표준이지만토토 사이트 순위code표시되었습니다 표준의 1992 년판에서 더 이상 사용되지 않았으며 1999 년 판에 떨어졌습니다. 따라서 새로운 응용 프로그램이 있습니다 강력하게 사용하도록 장려토토 사이트 순위state.

토토 사이트 순위state는 5 자 배열입니다. 다섯 문자에는 숫자 또는 상위 문자가 포함되어 있습니다 다양한 오류 및 경고 조건의 코드를 나타냅니다.토토 사이트 순위state계층 적 체계가 있습니다. 처음 두 문자는 일반 클래스의 조건, 마지막 세 문자는 일반적인 상태. 성공적인 상태는 코드로 표시됩니다00000. 그만큼토토 사이트 순위state코드는 대부분 정의되어 있습니다 토토 사이트 순위 표준. 그만큼Postgre토토 사이트 순위서버가 기본적으로 지원토토 사이트 순위state오류 코드; 따라서 높음 이 오류 코드를 사용하여 일관성을 달성 할 수 있습니다. 모든 응용 프로그램 전체에서 체계. 자세한 내용은 참조Postgre토토 핫 : 문서 : 7.4 : Postgre토토 핫 오류 코드.

토토 사이트 순위code, 더 이상 사용되지 않은 오류 코드 체계는 간단한 정수입니다. 0의 값은 성공을 나타냅니다 긍정적 값은 추가 정보로 성공을 나타냅니다 음수 값은 오류를 나타냅니다. 토토 사이트 순위 표준 만 긍정적 값 +100을 정의하며, 이는 마지막으로 명령은 0 행을 반환하거나 영향을 미쳤으며 구체적이지 않습니다 음수 값. 따라서이 계획은 가난한 사람들 만 달성 할 수 있습니다 이식성 및 계층 적 코드 할당이 없습니다. 역사적으로, 내장 된 토토 사이트 순위 프로세서 용Postgre토토 사이트 순위일부 특정 할당토토 사이트 순위code사용을위한 값 숫자 값과 상징적 이름으로 아래에 나열되어 있습니다. 이것들은 다른 토토 사이트 순위에 휴대 할 수 없음을 기억하십시오 구현. 응용 프로그램의 포팅을 단순화하려면토토 사이트 순위stateScheme, 해당토토 사이트 순위state도 나열됩니다. , 그러나 둘 사이에 일대일 또는 일대일 매핑은 없습니다 체계 (실제로는 다수)이므로 상담해야합니다. 글로벌토토 사이트 순위state목록에서부록 A각각의 경우.

이들은 할당되었습니다토토 사이트 순위code값 :

-12 (ecpg_out_of_memory)

가상 메모리가 소진되었음을 나타냅니다. (토토 사이트 순위STATE YE001)

-200 (ecpg_unsupported)

사전 처리기가 무언가를 생성했음을 나타냅니다 도서관이 알지 못합니다. 아마도 당신은 전처리업자의 양립 할 수없는 버전을 실행합니다 도서관. (토토 사이트 순위STATE YE002)

-201 (ecpg_too_many_arguments)

이것은 명령에 더 많은 호스트를 지정했음을 의미합니다 명령이 예상했던 것보다 변수. (토토 사이트 순위STATE 07001 또는 07002)

-202 (ecpg_too_few_arguments)

이것은 명령에 더 적은 호스트를 지정했음을 의미합니다 명령이 예상했던 것보다 변수. (토토 사이트 순위STATE 07001 또는 07002)

-203 (ecpg_too_many_matches)

이것은 쿼리가 여러 행을 반환했지만 진술은 하나의 결과 행을 저장할 준비가되었습니다 ( 예를 들어 지정된 변수는 배열이 아니기 때문에). (토토 사이트 순위STATE 21000)

-204 (ecpg_int_format)

호스트 변수는 유형입니다int그리고 데이터베이스의 데이텀은 다른 유형이며 로 해석 할 수없는 값을 포함합니다int. 라이브러리 사용strtol ()이 변환의 경우. (토토 사이트 순위state 42804)

-205 (ecpg_uint_format)

호스트 변수는 유형입니다서명되지 않은 int그리고 데이터베이스의 데이텀은 다릅니다. 다음으로 해석 할 수없는 값을 유형하고 포함합니다.부호없는 int. 라이브러리 사용strtoul ()이것 변환. (토토 사이트 순위STATE 42804)

-206 (ecpg_float_format)

호스트 변수는 유형입니다float및 데이터베이스의 데이텀은 다른 유형은 할 수없는 값을 포함합니다 A로 해석float. 도서관 사용strtod ()이것 변환. (토토 사이트 순위STATE 42804)

-211 (ECPG_CONVERT_BOOL)

이것은 호스트 변수가 유형임을 의미합니다bool그리고 데이터베이스의 데이텀은 아니야't'NOR'f'. (토토 사이트 순위STATE 42804)

-212 (ecpg_empty)

진술은Postgre토토 사이트 순위서버가 비어있었습니다. (이것 임베디드 토토 사이트 순위 프로그램에서 일반적으로 발생할 수 없으므로 내부 오류를 가리킬 수 있습니다.) (토토 사이트 순위state ye002)

-213 (ecpg_missing_indicator)

널 값이 반환되었고 널 표시기가 없습니다 변수가 제공되었습니다. (토토 사이트 순위STATE 22002)

-214 (ecpg_no_array)

일반 변수가 필요한 장소에서 사용되었습니다. 배열. (토토 사이트 순위STATE 42804)

-215 (ecpg_data_not_array)

데이터베이스는 장소에서 일반 변수를 반환했습니다 배열 값이 필요합니다. (토토 사이트 순위STATE 42804)

-220 (ecpg_no_conn)

프로그램은 그렇지 않은 연결에 액세스하려고했습니다. 존재하다. (토토 사이트 순위STATE 08003)

-221 (ecpg_not_conn)

프로그램은 연결에 액세스하려고 시도했습니다 존재하지만 열려 있지 않습니다. (이것은 내부 오류입니다.) (토토 사이트 순위STATE YE002)

-230 (ecpg_invalid_stmt)

사용하려는 진술은 준비. (토토 사이트 순위STATE 26000)

-240 (ecpg_unknown_descriptor)

지정된 설명자를 찾을 수 없었습니다. 진술 당신은 준비를 시도하지 않았습니다. (토토 사이트 순위state 33000)

-241 (ecpg_invalid_descriptor_index)

지정된 서술자 인덱스는 범위를 벗어났습니다. (토토 사이트 순위STATE 07009)

-242 (ecpg_unknown_descriptor_item)

잘못된 디스크립터 항목이 요청되었습니다. (이것은 an입니다 내부 오류.) (토토 사이트 순위STATE YE002)

-243 (ecpg_var_not_numeric)

동적 진술을 실행하는 동안 데이터베이스는 숫자 값과 호스트 변수를 반환했습니다 숫자가 아니 었습니다. (토토 사이트 순위STATE 07006)

-244 (ecpg_var_not_char)

동적 진술을 실행하는 동안 데이터베이스는 숫자가 아닌 값과 호스트를 반환했습니다 변수는 숫자였습니다. (토토 사이트 순위STATE 07006)

-400 (ECPG_PG토토 사이트 순위)

일부 오류로 인한Postgre토토 사이트 순위서버. 메시지 의 오류 메시지가 포함되어 있습니다.Postgre토토 사이트 순위Server.

-401 (ECPG_TRANS)

thePostgre토토 사이트 순위서버 우리가 시작, 커밋 또는 롤백을 할 수 없다는 신호를 보냈습니다 거래. (토토 사이트 순위STATE 08007)

-402 (ecpg_connect)

데이터베이스에 대한 연결 시도는 그렇지 않았습니다 성공하십시오. (토토 사이트 순위STATE 08001)

100 (ecpg_not_found)

이것은 마지막을 나타내는 무해한 조건입니다 명령 검색 또는 처리 된 제로 행 또는 귀하가 커서의 끝에. (토토 사이트 순위STATE 02000)