Notice
Recent Posts
Recent Comments
Link
투케이2K
28. (C++) try catch 구문 사용해 에러 예외 처리 및 throw 예외 발생 수행 본문
[개발 환경 설정]
개발 언어 : C++
[소스 코드]
// -----------------------------------------------------------------------------------------
//
// Created by KGH on 2023-02-12.
//
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [헤더 파일 import]
#include "Test.h"
#include <android/log.h>
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [include 및 define 문 정의]
#include <iostream>
#include <string>
using namespace std;
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [구현부 소스 코드 작성]
int main(void)
{
/**
* ------------------------------------
* [요약 설명]
* ------------------------------------
* 1. try catch : 예외 처리 구문을 수행합니다
* ------------------------------------
* 2. 로직 : 0 나누기 수행 후 에러가 발생하는 경우 에러 메시지 출력
* ------------------------------------
* */
// [변수 선언 실시]
int one = 5;
int two = 0;
int result = 0;
// [try catch 구문 처리]
try {
if (two != 0){
// [나누기 수행]
result = one / two;
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
__android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[CATCH] :: %d", result);
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
}
else {
// [예외 발생 수행 : catch 절]
throw string("EXCEPTION : 0 나누기를 수행 할 수 없습니다.");
}
}
catch (string error){
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
__android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[CATCH] :: %s", error.c_str());
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
}
return 0;
}
// --------------------------------------------------------------------------------------
[결과 출력]
W/[C++] [LOG]: =====================================================
I/[C++] [LOG]: [CATCH] :: EXCEPTION : 0 나누기를 수행 할 수 없습니다.
W/[C++] [LOG]: =====================================================
반응형
'C++' 카테고리의 다른 글
30. (C++) map 생성 및 key , value 데이터 삽입 (insert) , for iter 데이터 출력 실시 (0) | 2023.03.05 |
---|---|
29. (C++) replace 사용해 특정 문자열을 다른 문자열로 변경 (치환) 실시 (0) | 2023.03.05 |
27. (C++) [istringstream] : split 사용해 문자열 분리 실시 (0) | 2023.03.04 |
26. (C++) string to double 데이터 형 변환 수행 실시 (0) | 2023.03.04 |
25. (C++) %f 사용해 소수점 출력 자리수 제한 실시 (0) | 2023.03.04 |
Comments