이 섹션에서는 예외 처리 방법을 설명합니다. Embedded 토토 사이트 순위 프로그램의 조건 및 경고. 있다 이를 위한 몇 가지 비독점적 시설.
오류와 경고를 포착하는 간단한 방법 중 하나는 특정 조건이 발생할 때마다 실행되는 특정 작업 발생합니다. 일반적으로:
언제든지 토토 사이트 순위을 실행조건 액션;
조건다음 중 하나일 수 있습니다. 다음:
오류가 발생할 때마다 지정된 작업이 호출됩니다. 토토 사이트 순위 문을 실행하는 동안 발생합니다.
경고가 발생할 때마다 지정된 작업이 호출됩니다. 토토 사이트 순위 문을 실행하는 동안 발생합니다.
지정된 작업은 토토 사이트 순위이 실행될 때마다 호출됩니다. 문은 0개의 행을 검색하거나 영향을 줍니다. (이 조건은 오류는 아니지만 처리에 관심이 있을 수 있습니다. 특별히요.)
액션다음 중 하나일 수 있습니다. 다음:
이는 사실상 조건이 무시된다는 의미입니다. 이것이 기본값입니다.
지정된 라벨로 점프(C 사용고토성명).
표준 오류에 메시지를 인쇄합니다. 이는 다음과 같은 경우에 유용합니다. 간단한 프로그램이나 프로토타입 제작 중. 세부 사항은 메시지를 구성할 수 없습니다.
전화출구(1), 이는 프로그램을 종료합니다.
C 문 실행휴식. 이는 루프에서만 사용해야 합니다. 또는스위치문장.
지정된 C 함수를 지정된 값으로 호출합니다. 인수.
토토 사이트 순위 표준은 작업만을 제공합니다.계속그리고이동(그리고다음으로 이동).
다음은 간단한 작업에 사용할 수 있는 예입니다. 프로그램. 경고가 발생하면 간단한 메시지를 인쇄하고 오류가 발생하면 프로그램을 중단합니다.
토토 사이트 순위WARNING 토토 사이트 순위PRINT 시 토토 사이트 순위 실행; 토토 사이트 순위ERROR가 중지될 때마다 토토 사이트 순위을 실행합니다.
성명문언제든지 토토 사이트 순위을 실행이다 C 문이 아닌 토토 사이트 순위 전처리기의 지시문입니다. 는 설정된 오류 또는 경고 조치는 모든 Embedded 토토 사이트 순위에 적용됩니다. 핸들러가 있는 지점 아래에 나타나는 명령문 설정(동일한 조건에 대해 다른 작업이 설정되지 않은 경우) 첫 번째 사이언제든지 토토 사이트 순위을 실행및 조건에 관계없이 조건을 유발하는 토토 사이트 순위 문 C 프로그램의 제어 흐름 그럼 둘 중 하나도 아니고 다음 C 프로그램 발췌문을 사용하면 원하는 효과를 얻을 수 있습니다.
/*
* 틀렸어
*/
int main(int argc, char *argv[])
...
if (상세)
토토 사이트 순위WARNING 토토 사이트 순위PRINT가 발생할 때마다 토토 사이트 순위을 실행합니다.
...
EXEC 토토 사이트 순위 선택 ...;
...
/*
* 틀렸어
*/
int main(int argc, char *argv[])
...
set_error_handler();
...
EXEC 토토 사이트 순위 선택 ...;
...
정적 무효 set_error_handler(void)
토토 사이트 순위ERROR가 중지될 때마다 EXEC 토토 사이트 순위;
보다 강력한 오류 처리를 위해 내장 토토 사이트 순위 인터페이스는 이름이 포함된 전역 변수를 제공합니다.토토 사이트 순위ca다음과 같은 구조를 가지고 있습니다:
구조체
숯 토토 사이트 순위caid[8];
긴 sqlabc;
긴 토토 사이트 순위코드;
구조체
int sqlerrml;
숯 sqlerrmc[70];
sqlerrm;
숯 토토 사이트 순위errp[8];
긴 토토 사이트 순위errd[6];
숯 토토 사이트 순위warn[8];
char 토토 사이트 순위state[5];
토토 사이트 순위ca;
(다중 스레드 프로그램에서 모든 스레드는 자동으로 자체 사본토토 사이트 순위ca. 이것은 작동합니다 표준 C 전역 변수 처리와 유사errno.)
토토 사이트 순위ca경고와 경고를 모두 다룹니다. 오류. 도중에 경고나 오류가 여러 번 발생한 경우 명령문을 실행한 다음토토 사이트 순위ca마지막 항목에 대한 정보만 포함됩니다.
마지막에 오류가 발생하지 않은 경우토토 사이트 순위성명,토토 사이트 순위ca.토토 사이트 순위code0이 되며토토 사이트 순위ca.토토 사이트 순위state될 것이다"00000". 경고 또는 오류가 발생한 경우토토 사이트 순위ca.토토 사이트 순위code음수가 되며토토 사이트 순위ca.토토 사이트 순위state다음과 다를 것입니다"00000". 긍정적인토토 사이트 순위ca.토토 사이트 순위code해롭지 않은 상태를 나타냅니다. 예를 들어 마지막 쿼리는 0개의 행을 반환했습니다.토토 사이트 순위code그리고토토 사이트 순위state두 가지 다른 오류 코드 구성표가 있습니다. 자세한 내용은 아래에 표시됩니다.
마지막 토토 사이트 순위 문이 성공했다면, 그러면토토 사이트 순위ca.토토 사이트 순위errd[1]다음의 OID를 포함합니다. 처리된 행(해당하는 경우) 및토토 사이트 순위ca.토토 사이트 순위errd[2]개 수를 포함합니다. 명령에 적용 가능한 경우 행을 처리하거나 반환했습니다.
오류 또는 경고가 발생한 경우토토 사이트 순위ca.sqlerrm.sqlerrmc문자열을 포함합니다
오류를 설명하는 것입니다. 필드토토 사이트 순위ca.sqlerrm.sqlerrml다음의 길이를 포함합니다.
에 저장된 오류 메시지토토 사이트 순위ca.sqlerrm.sqlerrmc(결과strlen()별로 흥미롭지 않아요
C 프로그래머의 경우).
경고가 발생할 경우,토토 사이트 순위ca.토토 사이트 순위warn[2]다음으로 설정됨W. (다른 모든 경우에는 다음과 같이 설정됩니다. 와는 다르다W.) 만약토토 사이트 순위ca.토토 사이트 순위warn[1]다음으로 설정됨W, 값이 저장될 때 잘렸습니다. 호스트 변수에서.토토 사이트 순위ca.토토 사이트 순위warn[0]다음으로 설정됨W다른 것 중 하나라도 있다면 요소는 경고를 나타내도록 설정되었습니다.
필드토토 사이트 순위caid, 토토 사이트 순위cabc, 토토 사이트 순위errp및 나머지 요소토토 사이트 순위errd그리고토토 사이트 순위warn현재 유용한 내용이 없습니다. 정보.
구조토토 사이트 순위ca정의되지 않았습니다. 토토 사이트 순위 표준에 있지만 다른 여러 토토 사이트 순위에서도 구현됩니다. 데이터베이스 시스템. 핵심에서는 정의가 비슷하지만 이식 가능한 애플리케이션을 작성하려면 다음을 수행해야 합니다. 다양한 구현을 주의 깊게 조사하세요.
필드토토 사이트 순위ca.토토 사이트 순위state그리고토토 사이트 순위ca.토토 사이트 순위code둘이 다릅니다 오류 코드를 제공하는 구성표. 둘 다 토토 사이트 순위에 지정되어 있습니다. 표준이지만토토 사이트 순위CODE표시됨 1992년 표준 버전에서는 더 이상 사용되지 않으며 1999년 판에 떨어졌다. 따라서 새로운 애플리케이션은 사용을 적극 권장합니다.토토 사이트 순위STATE.
토토 사이트 순위STATE은 5자리 배열입니다. 5개의 문자에는 다음과 같은 숫자나 대문자가 포함됩니다. 다양한 오류 및 경고 조건의 코드를 나타냅니다.토토 사이트 순위STATE계층 구조가 있습니다: 처음 두 문자는 해당 항목의 일반 클래스를 나타냅니다. 조건에서 마지막 세 문자는 하위 클래스를 나타냅니다. 일반적인 상태. 성공적인 상태는 코드로 표시됩니다.00000.토토 사이트 순위STATE코드는 대부분 다음에 정의되어 있습니다. 토토 사이트 순위 표준.Postgre토토 사이트 순위서버가 기본적으로 지원함토토 사이트 순위STATE오류 코드; 그러므로 높은 이 오류 코드를 사용하면 일관성 수준을 얻을 수 있습니다. 모든 응용 프로그램 전반에 걸쳐 계획을 세우십시오. 자세한 내용은 참조Postgre토토 핫 : 문서 : 7.4 : Postgre토토 핫 오류 코드.
토토 사이트 순위CODE, 더 이상 사용되지 않는 오류 코드 구성표는 단순한 정수입니다. 값 0은 성공을 나타내고, 양수 값은 추가 정보가 성공했음을 나타냅니다. 음수 값은 오류를 나타냅니다. 토토 사이트 순위 표준만 마지막 값을 나타내는 양수 값 +100을 정의합니다. 명령이 0개의 행을 반환하거나 영향을 미쳤으며 구체적인 내용은 없습니다. 음수 값. 따라서 이 계획은 나쁜 결과만 얻을 수 있습니다. 이식성이 있으며 계층적 코드 할당이 없습니다. 역사적으로 Embedded 토토 사이트 순위 프로세서는Postgre토토 사이트 순위특정한 것을 할당했습니다토토 사이트 순위CODE사용에 대한 값은 다음과 같습니다. 숫자 값과 기호 이름과 함께 아래에 나열되어 있습니다. 다른 토토 사이트 순위로 이식할 수 없다는 점을 기억하세요. 구현. 애플리케이션을 다음으로 쉽게 포팅하기 위해토토 사이트 순위STATE구성표, 해당토토 사이트 순위STATE또한 나열됩니다. 있다, 그러나 둘 사이에는 일대일 또는 일대다 매핑이 없습니다. 계획(실제로 다대다 방식)이므로 글로벌토토 사이트 순위STATE목록 등록부록 A각 경우에.
이들은 할당된 것입니다토토 사이트 순위CODE값:
가상 메모리가 소진되었음을 나타냅니다. (토토 사이트 순위STATE YE001)
전처리기가 무언가를 생성했음을 나타냅니다. 도서관에서는 모르는 일이다. 아마도 당신은 호환되지 않는 버전의 전처리기와 도서관. (토토 사이트 순위STATE YE002)
이것은 명령이 더 많은 호스트를 지정했음을 의미합니다 예상한 명령보다 변수가 많습니다. (토토 사이트 순위STATE 07001 또는 07002)
이것은 명령이 더 적은 수의 호스트를 지정했음을 의미합니다 예상한 명령보다 변수가 많습니다. (토토 사이트 순위STATE 07001 또는 07002)
이는 쿼리가 여러 행을 반환했지만 명령문은 하나의 결과 행만 저장하도록 준비되었습니다( 예를 들어, 지정된 변수가 배열이 아니기 때문입니다). (토토 사이트 순위STATE 21000)
호스트 변수 유형은 다음과 같습니다.int데이터베이스의 데이터 유형이 다르며
로 해석될 수 없는 값이 포함되어 있습니다.int. 도서관은strtol()이 변환을 위해. (토토 사이트 순위STATE
42804)
호스트 변수의 유형은 다음과 같습니다.서명되지 않음
정수그리고 데이터베이스의 데이터는 다릅니다
유형이며 다음과 같이 해석될 수 없는 값을 포함합니다.
an부호 없는 정수. 도서관은strtoul()이것을 위해
전환. (토토 사이트 순위STATE 42804)
호스트 변수 유형은 다음과 같습니다.플로트그리고 데이터베이스의 데이터는 다음과 같습니다.
다른 유형이며 변경할 수 없는 값을 포함하고 있습니다.
다음과 같이 해석됩니다.플로트. 도서관
용도strtod()이것을 위해
전환. (토토 사이트 순위STATE 42804)
이것은 호스트 변수가 유형임을 의미합니다.부울그리고 데이터베이스의 데이터는 둘 다 아닙니다''아니요'f'. (토토 사이트 순위STATE 42804)
다음으로 보낸 성명서Postgre토토 사이트 순위서버가 비어있습니다. (이 일반적으로 Embedded 토토 사이트 순위 프로그램에서는 발생할 수 없습니다. 내부 오류를 가리킬 수 있습니다.) (토토 사이트 순위STATE YE002)
Null 값이 반환되었으며 Null 표시기가 없습니다. 변수가 제공되었습니다. (토토 사이트 순위STATE 22002)
일반 변수가 필요한 곳에 사용되었습니다. 배열. (토토 사이트 순위STATE 42804)
데이터베이스가 장소에 일반 변수를 반환했습니다. 배열 값이 필요합니다. (토토 사이트 순위STATE 42804)
프로그램이 연결되지 않은 연결에 접근을 시도했습니다. 존재합니다. (토토 사이트 순위STATE 08003)
프로그램이 다음 연결에 접근을 시도했습니다. 존재하지만 열려 있지 않습니다. (내부 오류입니다.) (토토 사이트 순위STATE YE002)
당신이 사용하려는 명령문은 유효하지 않습니다. 준비. (토토 사이트 순위STATE 26000)
지정된 설명자를 찾을 수 없습니다. 성명서 사용하려는 제품이 준비되지 않았습니다. (토토 사이트 순위STATE 33000)
지정된 설명자 인덱스가 범위를 벗어났습니다. (토토 사이트 순위STATE 07009)
잘못된 설명 항목이 요청되었습니다. (이것은 내부 오류입니다.) (토토 사이트 순위STATE YE002)
동적 명령문을 실행하는 동안, 데이터베이스가 숫자 값과 호스트 변수를 반환했습니다. 숫자가 아니었습니다. (토토 사이트 순위STATE 07006)
동적 명령문을 실행하는 동안, 데이터베이스가 숫자가 아닌 값을 반환했으며 호스트가 변수는 숫자였습니다. (토토 사이트 순위STATE 07006)
다음으로 인해 발생한 일부 오류Postgre토토 사이트 순위서버. 메시지 의 오류 메시지가 포함되어 있습니다.Postgre토토 사이트 순위서버.
그Postgre토토 사이트 순위서버 시작, 커밋 또는 롤백할 수 없다는 신호를 받았습니다. 거래. (토토 사이트 순위STATE 08007)
데이터베이스에 대한 연결 시도가 실패했습니다. 성공하다. (토토 사이트 순위STATE 08001)
이것은 마지막 명령이 0개의 행을 검색하거나 처리했거나 커서 끝에서. (토토 사이트 순위STATE 02000)