Exception Handling   예외 처리

(2020-09-30)

예외

1. 예외 (Exception) 이란?

  ㅇ 특정 상황을 짐작케 하는 오류와는 달리, 예상치 못한 상황에 발생하는 것
     - 정상적인 처리 상태에서 벗어난 비정상 상태
        . 例) 잘 동작하던 서비스가 갑자기 정지하거나, 디스크 부족 현상이 나타나거나,
              미리 정해지지 않는 시간에 발생되는 인터럽트 등
     - 하드웨어 및 소프트웨어 상황 모두 포함

  ㅇ 예외 역할
     - 프로그램 수행 정지와 같은 상황을 알려주고 이를 방지
     - 때론, 프로그래밍을 유연하게 할 수 있는 도구 역할도 함
        . 특정 상황 마다 수행 중단과 동시에 발생하는 오류 메세지와는 달리,
        . 예외는, 오류 메세지 상황 마다 그에 맞는 처리를 할 수 있음


2. 예외 처리 (Exception Handling)

  ㅇ 예외 처리 (Exception Handling)
     - 시스템신뢰도 향상을 위해,
     - 프로그래밍 언어에서 프로그램의 실행 도중 발생하는 예외상황을 발생,처리할 수 있는 기능
        . 예외처리 능력 없는 언어 例) 과거 FORTRAN, PASCAL 등
        . 예외처리 능력 있는 언어 例) 미국방성의 Ada, C++, Java 등
           . Java 경우, 에러가 생겼을 때, 항상 예외를 발생시켜, 예외 처리로 모든 상황 대처 가능
           . PHP 경우, 예외 이외에 추가적으로 더 복잡한 형태의 에러 처리를 하기도 함

  ㅇ 예외 처리기 (Exception Handler)
     - 예외가 탐지되었을 때 실행되는 일종의 서브프로그램문법 例) 
     - 예외 탐지 및 처리 
        . try { 예외 발생 블록 구문 } 
          catch (예외 타입) { 예외 처리 }
          finally { ... }
           .. try 블록 내 예외 발생시, 즉각 catch 구문을 실행
           .. 따라서, try 블록 내 예외 발생 지점 이후 코드는 실행하지 않게됨
           .. finally 블록은, 예외 처리 여부에 상관없이 항상 실행됨
     - 명시적/의도적으로 예외를 발생시키려면,
        . throw 구문을 사용


[예외,이벤트 처리] 1. 예외 처리 2. 트랩 3. 인터럽트 4. 이벤트
1146 : Table 'test.ip_nocount' doesn't exist
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\htdocs\manage\useful_functions.php on line 205

 
        최근수정     요약목록     참고문헌