C ++에서 예외 처리를 구현하는 방법?



이 기사는 예외 처리가 무엇인지, 그리고 실제 데모를 통해 C ++에서 예외 처리를 구현하는 방법을 이해하는 데 도움이 될 것입니다.

예외 런타임 또는 컴파일 시간 동안 비정상적인 조건입니다. C ++에서 매우 필수적인 개념입니다. 이 기사에서는 다양한 유형과 함께 C ++의 예외 처리를 소개합니다.

이 기사에서는 다음 사항을 다룰 것입니다.





그럼 시작하겠습니다.

C ++에서 예외 처리

예외 유형

두 가지 유형의 예외가 있습니다.



런타임 예외

런타임 중에 발견 된 예외입니다.

컴파일 시간 예외



컴파일 시간에 포착 된 예외입니다.

C ++로 된이 예외 처리 기사로 넘어 가서,

예외 처리 란?

오류는 프로그램의 정상적인 실행을 방해합니다. 예외 처리는 매우 필요하며 오류 또는 예외를 처리하는 프로세스입니다. 프로그램 실행이 예외의 영향을받지 않도록하고 프로그램 실행에 문제를 일으키지 않고 천천히 처리합니다.

예외 처리를 고려할 때 이와 관련된 세 가지 용어가 있습니다.

시험

이 블록 내부의 코드는 예외가 발생할 수있는 시험 코드와 같습니다. 이 예외는 catch 블록 내에서 포착됩니다.

잡기

이 블록의 코드는 try 블록의 코드가 예외를 throw 할 때 실행됩니다.

던지다

이 키워드는 예외가 발생했을 때 예외를 발생시키는 데 사용됩니다. 예외는 예외 핸들러로 전송됩니다.

통사론:

try 블록 내부의 코드가 실행됩니다. 오류가 생성 된 경우 throw 키워드는 예외 처리기, 즉 catch 블록에 예외를 throw합니다. 그런 다음 catch 블록은 해당 블록 내에있는 코드를 실행하여 예외를 처리합니다.

C ++에서 예외 처리를위한 샘플 코드를 살펴 보겠습니다.

샘플 코드

#include using namespace std try {// code for try throw & ldquoexception & rdquo} catch (exception) {// code for catch} int main () {int x = 1 try {cout<< 'Try Block: '<

산출:

출력-C ++의 예외 처리-Edureka

설명

이 프로그램은 예외 처리를 보여줍니다. 값 1이 할당 된 변수 x가 있습니다. 그러면 try 블록이 시작됩니다. 이 블록에는 조건이 x 인 if 문이 있습니다.<10.

우리의 경우 x가 1이므로 조건은 참입니다. 그런 다음 프로그램은 예외를 발생시키고 제어는 블록을 잡기 위해 이동합니다. catch 부분에서 조건을 실행하고 블록을 종료합니다.

catch (...) {비용<< 'Default Exceptionn'<

마지막으로 catch 블록 및 종료 프로그램 이후에 나머지 명령문을 실행합니다.

catch 문이 여러 개있을 수 있습니다. 가능한 예외의 수에 따라.

C ++로 된이 예외 처리 기사로 넘어 가서,

캐치 블록 실패

이전 프로그램을 고려해보십시오. throw 키워드가 'ABC'를 던지면 catch 함수가이를 처리 할 수 ​​없습니다. 오류가 표시됩니다.

이 경우 획득 오류 메시지가 표시되도록 할 수 있습니다.

이를 해결하려면 이러한 문제를 처리하기 위해 코드에 기본 catch 함수를 추가해야합니다.

#include using namespace std int main () {int x = 1 try {cout<< 'Try Block: '<

출력 :

설명:

이 코드는 이전 코드와 유사합니다. 유일한 변경 사항은 throw 된 예외가 char 유형이라는 것입니다. 이로 인해 catch 함수가 쓸모 없게됩니다. 그래서 우리는 기본 catch 기능을 포함 시켰습니다.

일치하는 catch 문이 없으면 기본 catch가 실행됩니다.

다중 캐치 블록

단일 try 블록의 catch 블록이 여러 개있을 수 있습니다.

여기에 예가 있습니다.

#include using namespace std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

산출:

설명:

위의 코드에서는 여러 catch 문을 사용합니다. 예외를 생성하는 기능 테스트가 있습니다. 첫 번째 테스트 사례에서 값은 10입니다. 10은 0보다 크므로 'a'문자가 throw되고 두 번째 catch 함수에 의해 포착됩니다.

두 번째 경우 값이 0보다 작으므로 값 -1이 발생하고 정수 예외에 의해 포착됩니다.

기본 및 파생 클래스의 예외 처리 :

기본 및 파생 클래스 예외가 포착되면 파생 클래스의 catch가 기본 클래스보다 먼저 실행되어야합니다.

다음은 몇 가지 예외입니다.

  • std :: exception

  • logic_error

  • 런타임 오류

  • bad_alloc

  • bad_cast

  • bad_exception

이것으로 우리는‘C ++의 예외 처리’에 대한이 블로그의 끝으로 왔습니다. 이 정보가 유익하고 도움이 되었기를 바랍니다. 유사한 주제에 대한 더 많은 자습서를 계속 지켜봐 주시기 바랍니다. 교육 프로그램을 확인할 수도 있습니다.o 다양한 응용 프로그램과 함께 jQuery에 대한 심층적 인 지식을 얻으면 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육.

질문이 있으십니까? 이 블로그의 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.

sqlite 튜토리얼 용 db 브라우저