2013-06-24 2 views
0

Eclipse 4.2.2 (Oracle JDK 1.7.0과 함께 사용)는 synchronized -Block 내에 예외가 발생하여 블록의 시작 부분 인 잘못된 행을 표시합니다.Eclipse가 잘못된 라인에 예외를 표시합니다.

실제 예에서 예외가 발생한 행을 찾아내는 것이 항상 쉬운 것은 아닙니다. 예외가 발생한 실제 행을 Eclipse에 표시 할 수있는 방법이 있습니까?


최소 작동 예 :

public class Test { 

    public static void main(String[] args) { 
     Test test = new Test(); 
     test.test(); 
    } 

    void test() { 
     synchronized (this) { 
     throw new RuntimeException(); 
     } 
    } 
    } 

이클립스 여기 예외를 보여준다

exception in line "synchronized (this)"

스택 트레이스 :

stack trace

+4

으로 다시 컴파일하려고 했습니까? 너 계급? 프로젝트를 작성한 다음 행을 수정했기 때문일 수 있습니다. – Tala

+0

이 예외 코드가 표시되는 코드이거나 표시된 일부 다운로드 된 API입니다. –

+0

이것은 내 코드이므로 프로젝트를 정리하고 다시 실행 해 보았습니다. – fefrei

답변

5

가지고있는 스크린 샷은 예외는 아니지만 디버그보기입니다. 현재 실행 행이 어디에 있는지를 보여줍니다. RuntimeException이 던져 졌으므로 이제 실행이 맨 위로 되돌아갑니다. screeenshot에서 실행 라인 9

에 도달 Eclipse에서

콘솔보기는 excepion을 표시하고 올바르게 I로 지금까지 당신은 바로 여기에 예외를 검사 할 수 없습니다 (10)

Exception in thread "main" java.lang.RuntimeException 
at LineNumber.test(LineNumber.java:10) 
at LineNumber.main(LineNumber.java:5) 

라인을 (나열 변수에 캡처되지 않기 때문에). 하지만 환경 설정 -> 자바 -> 디버그 -> 예외로 일시 중단 된 팝업 열기로 이동하면 이클립스는 검사 할 수있는 예외 (올바른 줄 번호 포함) 팝업을 작성하여

관련 문제