벌레잡기 부호 자바 프로그래머가 수시로 System.out.println를 사용하는 동안 (). 각 System.out.println에 분리되는 메시지를 쓰는 것이 중요하다 () 그래서 문제가 어디에 속이는지 당신은 산출에서 이해할 수 있다.

지금 그것은 시간이 걸리고 각 System.out.println를 위한 새로운 메시지를 발명하게 약간 지루한 () 메시지를 제충하십시오. 만약에 당신이 현재 파일 이름 및 행 번호 인쇄하는 것을 허용하는 당신이 방법을 부를 수 있으면 무엇?

그것은 자동적으로 각 System.out.println에 있는 유일한 메시지를 지킬 것입니다 (). 또한 그것은 당신이 즉각 기분을 상하게 하는 부호를 정확하게 지적할 것을 도울 것이다. 당신은 사본 풀 당신의 부호에서 그런 것 같 어디에서든지 (필요에 따라서 화제 정보에 그것을 장식하십시오) 그것의 위치를 정확하게 지적할 수 있을 것이다 위하여 할 수 있고:

System.out.println (getFileName () + ": " + getClassName () + ": " + getMethodName () + ": " + getLineNumber ());

나는 getLineNumber의 실시를 () 아래에 보여주고 운동으로 나머지를 남겨둘 것이다:


/** 전류 회선 수를 얻으십시오.
 * @return int - 전류 회선 수.
 *
공중 공전 int getLineNumber () {
    반환 Thread.currentThread () .getStackTrace () [2] .getLineNumber ();
}

당신은 마법수 - 2를 주의했는가? 당신은 그것을 설명할 수 있는가?