기본 콘텐츠로 건너뛰기

라벨이 Error인 게시물 표시

error C3861: 'toolSubsystem_fwrite': identifier not found

V8i용 프로그램을 개발할때 파일을 읽기 위해 fstream을 인클루드했을때 아래와 같은 에러를 뱉어 내었습니다. 아마도 mdl 관련 헤더 파일에서 이 부분을 재정의를 한 것 같습니다.(왜 그렇게 했는지는 이해가 안 가네요...) 단지 아래와 같이 fstream을 인클루드만 했을뿐인데 말이죠... #include <fstream> #include <vector> using namespace std; // CDockableDialog dialog IMPLEMENT_DYNAMIC(CDockableDialog, CBNETDockableDialog)

V7 Compiler Error

오늘 아주 흥미로운 현상을 발견했습니다. 소스의 맨 첫째 줄에 주석을 넣으니 V7 컴파일러가 에러를 뱉어 내었습니다. 아래와 같이 첫번째 줄에 주석을 넣으니 말이죠... #include <mdl.h> // comment in first line #include <cexpr.h> #include <rscdefs.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <cmdlist.h> #include <dlogitem.h> #include <system.h> #include <global.h> #include <userfnc.h> #include <mselems.h> #include <refernce.h> #include <tcb.h> #include <scanner.h> #include <mdldim.h> #include <dlogman.fdf> #include <msdim.fdf> #include <mdlerrs.h> #include <clipdscr.h> #include <msfile.fdf>

에러 처리

PML에서 에러 처리는 아래와 같이 합니다. HANDLE ANY ... ENDHANDLE ...에 에러 처리 코드를 입력합니다. 위의 코드는 모든 에러에 대해서 적용되는데요, 만일 특정 에러에 대해서만 적용 하려면 HANDLE ANY(,) ... ENDHANDLE (,)에 에러 번호를 입력하면 됩니다. next handle any(2,113)      $* NEXT ELEMENT 없음. ... endhandle 위의 코드는 NEXT 명령을 이용해 다음 ELEMENT로 이동하려 할때 다음 ELMENT가 없을 때 에러 처리를 하는 예입니다.

프로그램 일반

프로그램 개발시 에러를 만났을때 참고 견디는 구조보다 에러를 뱉어내는 구조로 작성하라. 에러를 무시하는 코드는 개발자에게 에러가 난 근본적인 원인을 찾아 그 에러에 대한 대책을 수립할 수 있는 기회를 근본적으로 박탈한다. 제때 에러를 수정할수 있는 기회를 잃어버려서 나중에 그 수많은 코드들을 헤집고 다녀야하는 수고를 해야만 한다.