티스토리 뷰

반응형

 

 

 

가. 원인

  - 여러 개의 코드에 하나의 try 블럭을 설정하여, 모든 예외에 대해 하나의 방식으로 예외를 처리하는 경우

 

 

나. 영향

  - 각각의 예외처리에 대해 적절한 대응이 불가

  - 부적절한 리소스 관리로 시스템 중지 초래

  - 예외 상황에 대한 적절한 로깅이 되지 않아 사후처리가 어려움

 

 

다. 보안대책

  - 광범위한 예외처리 대신 구체적인 예외처리를 수행

  - 각각의 예외 상황에 맞춰 적절한 예외 처리를 수행하도록 구현

 

 

라. 안전한 코드

1. 구체적 예외처리

 

  BufferedReader rd = null;

  try {

     rd = new BufferedReader( new FileReader( new File( fileName ) ) );

     String line = rd.readine();

     SimpleDateFormat format = new SimpleDateFormat( "MM/DD/YY" );

     Date date = format.parse( line );

  } catch ( IOException e ) {

     logger.error( "ERR-01: file open error" );

  } catch ( ParseException e ) {

     logger.error( "ERR-01: data parsing error" );

  } finally {

     try {

        if( rd != null ) {

           rd.close();

        }

     } catch ( Exception e ) {

        logger.error( "ERR-02: file close error" );

     }

  }

 

 

 

마. 진단방법

<오류메시지 확인>

  1. 예외처리 로직 확인

  2. 구체적으로 예외처리를 구분하여 처리하고 있는지 확인

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday