C++의 기본 에러 핸들링은 익셉션 try catch 로 구성되어 있는데,

이게 애초에 C++의 철학 zero overhead principle (로직 및 추상화에 있어서 오버헤드를 이상적으로 제로로 최소화하는 방침) 을 정면으로 위반할 뿐더러,

그렇다고 익셉션을 막아버리면 C++ 클래스의 생성자에서 에러 핸들링을 하는게 불가능해지고 전역 에러를 사용하던가 아예 수동으로 초기화 API 을 만들어서

별도의 생성자 루틴을 만들어줘야 함.


이게 또 C++의 이동생성자, 복사생성자 및 대입연산자들에게도 영향을 미치니까,

그냥 에러 핸들링을 assert 로 땡 치워버리지 않는 코드를 짜려면 C++을 이따구로 만든 걍 비야네 할아버지 빨리 돌아가시길 저절로 빌게 되는 것 같음.


게다가 이건 에러 핸들링이랑은 또 별개이긴 한데,

애초에 zero overhead principle 이 자체가 과연 이상적으로 달성할 수 있는 철학이자 목표이긴 한걸까 하는 생각도 듬.