문제

기본적으로 다음 경로 아래에서 Visual Basic 6.0 IDE에 나타나는 "클래스 모듈의 Break Module"및 "처리되지 않은 오류가 발생하지 않는 오류의 차단"을 이해하려고합니다.

Tools --> Options --> General --> Error Trapping
.

세 가지 옵션은 다음과 같습니다.

  • 모든 오류에서 휴식
  • 클래스 모듈에서 휴식
  • 처리되지 않은 오류에 대한

    이제, MSDN에 따르면, 두 번째 옵션 (클래스 모듈의 틈)은 실제로 "클래스 모듈에서 처리되지 않은 오류가 발생하지 않음"을 의미합니다. 또한이 옵션은 기본적으로 설정된 것으로 보입니다 (즉,이 상자에서이를 설정한다고 생각합니다).

    내가 알아 내려고하는 것은, 두 번째 옵션을 선택한 경우, 세 번째 옵션 (처리되지 않은 오류가 발생하지 않음)을 무료로 얻을 수 있습니까? 이를 통해 클래스 모듈 스펙트럼 외부의 모든 시나리오에 대해 기본적으로 포함됩니까? 조언을하려면 현재 활성 프로젝트에 클래스 모듈이 없습니다. 그러나 .BAS 모듈이 있습니다. 또한 클래스 MDules에 의해 정상적인 .BAS 모듈을 언급 할 수 있습니다. (이것은 나의 두 번째 부분의 질문입니다.

    기본적으로, 나는 EXE가 해제되면 놀라지 않도록 설정을 원합니다. 개발 중에 가능한 한 많은 오류가 발생하고 릴리스 모드에서는 표시 할 때 표시되지 않습니다. 일반적으로, 오류가 발생하는 두 가지 유형의 오류가 나타나는 오류가 명시 적 오류 처리가없는 내 양식에 다음과 같습니다.

    오류가 발생하면 다음 '필수 항목이 다시 시작됩니다 오류에 다시 시작하면 다음 '필요 없음

    필요한 것들은 배열이 어떤 길이가 있는지 확인하는지 확인하는 것입니다. ubound 오류가 발생하지 않는 경우, 그 길이가 0 이상을 반환하면 길이가 없으면 길이가 없습니다. (그러므로, 따라서 존재한다). 이러한 유형의 오류 문은 내가 개발 중에도 활성 상태로 유지되어야합니다. 그러나 필요하지 않은 사람은 내가 개발 중이는 동안 활성 상태로 유지되어서는 안됩니다. 그래서 나는 그들 모두가 존재하는 모든 오류를 잡는 것을 보장하기 위해 모든 것으로 밝혀졌습니다.

    EXE를 해제 할 준비가되면 모든 발생을 찾기 위해 Ctrl + H를 수행합니다.

    '오류에 오류 재개 다음'필요 없음

    (그들은 그들이 주석을 끄는 것을 알아 냈을 것으로 보았을 수 있음) ... 그것을 다음과 같이 교체하십시오 :

    오류가 다시 시작됩니다. 다음 '필요 없음

    ... 주석 처리되지 않은 버전이므로 릴리스 모드에서 남은 오류가있는 경우 사용자에게 표시되지 않습니다.

    세 가지 옵션 (두 번 읽고 적절히 찾지 못함)에서 MSDN의 설명에 대한 자세한 내용은 다음 링크를 방문 할 수 있습니다.

    http://webcache.googleusercontent.com/search?q=cache:yuqzzk2n2iyj:yuqzzk2n2iyj:support.microsoft.com/kb/129876&hl=en&lr=lang_en%7clang_tr&gl=au&tbs=lr : lang_1en % 7clang_1tr & prmd= imvns & strip= 1

    나는 또한 자원 봉사하는 것처럼 느껴지면 당신의 생각을 듣고 관심이 있습니다 (그리고 이것은 내 임시 / 완전히 선택적인 세 번째 하위 질문, 그 것, 즉 낙하 오류 처리 기술에 대한 생각이 될 것입니다). 요약하면, 처음 두 가지 질문은 옵션 2를 선택하면 모든 비 클래스 시나리오에 옵션 3을 포함하는 옵션 3을 얻을 수 있습니까? 그리고 "클래스 모듈"이라는 용어를 사용하는 경우에는 .BAS 모듈을 언급 할 수 있습니다. (.Bad 모듈은 시동 중 백그라운드에서 미리 인스턴스화 된 클래스 모듈 일뿐입니다.

    고맙습니다.

도움이 되었습니까?

해결책

첫 번째 옵션으로 시작합니다. 모든 오류가 발생하면 오류 처리기가 사용 불가능하게됩니다. 이는 핸들러에 오류가 발생할 수 있기 때문에 오류 핸들러를 넣을 수 있거나 오류가 기울어지면 오류가 발생했을 때 오류가 발생했을 때 오류가 발생했을 때 오류가 발생했을 때 오류가 발생할 수 있으므로 디버깅을 시도 할 때 유용합니다. 절차에서 처리 된 절차에서 핸들러를 찾으려고 핸들러를 찾으려고 해결할 수있는 코드 라인을 찾으려고하는 경우 혼란 스러울 수 있습니다.

다음에 처리되지 않은 오류가 발생하지 않는 오류가 발생한 코드 행이있는 경우 클래스 모듈에서 실제로 깨지지 않습니다. 이 옵션을 설정하고 클래스의 메소드를 호출하고 메소드의 코드 줄에 오류가 발생하면 메소드 호출이있는 클라이언트의 행을 끊어집니다.

클래스 모듈의 틈이 오류가있는 클래스의 코드 줄로 이동합니다. 주의 사항은 ActiveX EXE로 작업하는 경우 클라이언트 프로젝트가 아닌 프로젝트에 제어 설정이 프로젝트에 있습니다. 즉, 클라이언트 프로젝트에 설정된 모든 오류를 끊고 ActiveX EXE 프로젝트에서 설정되지 않은 오류를 끊을 수 있으며 두 개의 개별 프로세스로 작업하기 때문에 클래스 모듈에서 깨지지 않습니다. 클래스 모듈에서 휴식을 취할 수 있으므로 개인적으로 그대로 두는 것이므로 가장 큰 정밀도로 오류가있는 사이트로 드릴 수 있습니다. 그래도 오류 처리기를 시작하기 전에입니다. 그 시점에서 나는 내가 안정하려고하는 것에 따라 내가 세 가지 주위에 튀어 나와 있습니다.

마지막으로, 인라인 오류 처리의 맥락을 제외하고는 다음에 오류 재개를 사용하지 않는 것이 좋습니다.

다른 팁

YES, "클래스 모듈 중단"을 선택하면 처리되지 않은 오류가 발생하지만 클래스 모듈 자체에서 처리되지 않는 클래스 모듈 (일반 모듈이 아님)의 오류가 발생합니다.

이를 "처리되지 않은 오류를 끊는 경우"정확한 위치를 추적하기가 어렵게 만드는 데 오류가 발생할 때 클래스 / 사용자 제어 코드에서 종료 될 수 있습니다.

양성인 오류를 처리 할 때 다른 사람들이 성가신을 얻을 때 일반 개발을 위해 "처리되지 않은 오류가없는 오류의 휴식"을 떠나는 것이 가장 좋습니다.그러나 오류를 트리거하기 전에 이것을 탐지하는 것이 가장 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top