2012-12-15 2 views
2

문제

응용 프로그램에서 예외가 발생하면 아무 일도 일어나지 않습니다. 예외가 무시되었습니다.

단순히 잡아 예외를 무시할 수있는이 throw new Exception("BOOM"); 같은 예외가 발생하면 ....

응용 프로그램

은 높은 수준에서 어딘가에 예외를 잡는 빈 시도 캐치 같은 반응을 제외하고는 무시된다? ?? 내 코드 또는 상위 수준의 try-catch에서 예외가 발생하는 빈 try-catch를 찾을 수 없습니다.

DragDrop 이벤트 처리기에 예외가 발생합니다.

질문
  • 이 동작에 대한 가능한 이유가

?
  • 예외가 어디에서 발생했는지 정확히 알 수있는 방법이 있습니까? 내가 ... 다른 수준에서 예외를 잡기, dissassembled 코드에 스테핑, 호출 스택을보고 시도
  • +3

    코드가 있습니까? 코드가있는 곳은 어디입니까? 코드의 언어는 무엇입니까? – luiges90

    +0

    충분한 정보를 입력하십시오. –

    +0

    당신, 웹 어플리케이션은 어떤 종류의 프로젝트입니까? 로깅 구성을 확인 했습니까? – Subin

    답변

    1

    를 제외하고는 DragDrop 이벤트 필수 정보했다

    에 발생합니다, 스 니펫을 올리면 분명했을 것입니다. 드래그 앤 드롭 이벤트 핸들러는 특별합니다. 예외가 발생하면 진단없이 삼키게됩니다. 그 뒤에있는 가능한 철학은 다른 프로그램에서 생성 된 데이터를 처리하기 때문에 실패 할 가능성이 크다는 것입니다. 그리고 그와 같은 나쁜 데이터를 생성하는 버그가있는 프로그램은 여러분의 것을 망칠 수 없습니다.

    코드를 디버그하고 Debug + Exceptions를 사용해야 할 경우 CLR 예외에 대해 Thrown 확인란을 선택하십시오. 예외가 발생하면 디버거가 중지됩니다.

    사용자가 예외에 대해 알기를 원하면 try/catch를 사용하여 예외를 포착하기 전에 예외를 catch해야합니다. 약간의 위험으로 다른 프로그램의 모든 버그가 귀하의 설명이됩니다.

    +0

    당신은 맞습니다 :) "결함있는"프로세스가 buttun 클릭 이벤트에서 시작되면 모든 것이 예상대로 작동하므로 유일한 문제는 Drag_Drop 이벤트가 의도적으로 작동하는 방식입니다. 그걸로 살아갈 것이고 설명을 위해 다시 고마워 할 것입니다. – michelqa

    관련 문제