#include <iostream>
using namespace std;
void test() {
int a = 1;
int b = 2;
auto func1 = [&]() {
if (a == 1) {
throw std::runtime_error("a = 1");
}
cout << "func1 success" << endl;
};
auto func2 = [&]() {
if (b == 2) {
throw std::runtime_error("b = 2");
}
cout << "func2 success" << endl;
};
try {
func1();
func2();
}
catch (std::exception& ex) {
cout << "test failed - " << ex.what() << endl;
return;
}
}
void main() {
test();
}
하나의 작업을 수행하는 함수 내에서도 다양한 추상화 수준의 코드들이 존재할 수 있기 때문에 이들을 다시 람다 함수로 분리하여 코드 가독성을 높이고, 람다 함수들을 try-catch 문에서 한번에 실행함으로써 오류 처리와 가독성을 높일 수 있습니다.
'컴퓨터 공학 > C++' 카테고리의 다른 글
vector와 array의 처리 성능 높이는 방법 (실험) (1) | 2019.11.14 |
---|---|
[C++11] 초간단 시간 측정 클래스 (0) | 2019.11.14 |
const_cast 사용 예시 (0) | 2019.11.14 |
C++ exit()와 quick_exit()의 차이점 (0) | 2019.05.24 |
c++ unordered_map 사용 예시 (0) | 2019.04.06 |