자바 사용자 정의 이상 인쇄 내용 상세 설명
배경:개발 에 서 는 사용자 정의 이상 을 사용 할 수 있 습 니 다.그러나 이 사용자 정의 이상 은 로 그 를 인쇄 할 때 인쇄 하 는 내용 이 많 습 니 다.
1.이상 인쇄 내용 사용자 정의
사용자 정의 이상 을 사용 하지만 던 질 때 스 택 의 모든 정 보 를 출력 하 는 것 을 볼 수 있 습 니 다.
2.소스 코드 보기
원본 코드 를 보면 이상 을 던 졌 을 때 프로그램 이 이 이상 한 fillIn StackTrace 방법 을 호출 한 다 는 것 을 알 수 있 지만 대부분의 이상 은 이 방법 에 대해 처리 하지 않 았 다.기본적으로 슈퍼 를 호출 하 는 방법 이다.
이 방법의 부 류 는 Throwable 클래스 에서 이 루어 진 것 을 볼 수 있 습 니 다.그리고 이 방법 은 synchronized 자 물 쇠 를 추가 하여 스 택 의 정 보 를 조회 합 니 다.그러면 반드시 성능 에 영향 을 줄 것 이다.
밑바닥 실현 은 native 로 C 언어 를 호출 하 는 방법 이다.
3.해결 방법
① 사용자 정의 이상 작성
// lombok
@Getter
@AllArgsConstructor
public enum ExceptionEnum {
AUTH(1, " ")
;
private Integer code;
private String msg;
}
public class AppException extends RuntimeException {
public AppException(ExceptionEnum exceptionEnum) {
super(exceptionEnum.getMsg());
}
//
@Override
public Throwable fillInStackTrace() {
return this;
}
public static void main(String[] args) {
throw new AppException(ExceptionEnum.AUTH);
}
}
②.fillInStackTrace 재 작성 방법이 방법 을 다시 쓰 면 첫 번 째 정보 만 인쇄 합 니 다.로그 공간 을 절약 하고 보기 편 할 뿐만 아니 라 일부 성능 도 향상 시 킬 수 있 습 니 다.
@Override
public Throwable fillInStackTrace() {
return this;
}
③.내용 인쇄인쇄 내용 이 현저히 줄 어 든 것 을 볼 수 있다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.