예외

예외(exceptional event의 줄임말)는 프로그램이 실행되는 동안 발생하는 오류 또는 예기치 않은 이벤트입니다. 예외가 발생하면 프로그램의 흐름이 중단됩니다. 프로그램이 예외를 처리할 수 있다면 계속 실행될 수 있습니다. 예외가 처리되지 않으면 프로그램을 종료해야 할 수 있습니다.

여러 프로그래밍 언어가 예외를 지원하지만, 사용 방식은 서로 다릅니다. 예를 들어 예외는 Java 언어의 핵심 요소이며 프로그램의 흐름을 제어하는 데 자주 사용됩니다. Java에는 수십 개의 하위 클래스를 포함하는 Exception 클래스가 있으며, 여기에는 TimeoutException, UserException, IOException 등이 있습니다. IOException과 같은 하위 클래스에는 파일을 찾을 수 없거나 문자열문자 인코딩을 인식할 수 없을 때 "throw"할 수 있는 FileNotFoundExceptionCharacterCodingException과 같은 더 구체적인 예외가 포함되어 있습니다.

다른 언어에서는 메모리 할당 실패나 시스템 수준 오류와 같은 기본적인 런타임 오류를 포착하는 데만 예외를 사용합니다. 예를 들어 C++ 프로그램은 메모리를 할당할 수 없을 때 bad_alloc 예외를, 운영 체제에서 오류가 발생했을 때 system_error 예외를 throw할 수 있습니다.

예외 처리

잘 작성된 컴퓨터 프로그램은 예외를 확인하고 적절하게 처리합니다. 즉, 개발자는 발생 가능성이 높은 예외를 확인하고 이를 처리할 코드를 작성해야 합니다. 프로그램이 예외를 잘 처리하면 예기치 않은 오류를 감지하고 프로그램을 충돌시키지 않고 관리할 수 있습니다.

예외는 발생할 때 "throw"되고 프로그램의 다른 코드에서 "catch"됩니다. throw 문을 사용해 명시적으로 throw하거나 try 절 안에서 암시적으로 throw할 수 있습니다. 다음은 Java의 "try / catch" 구문 예입니다. 다음 코드는 0으로 나누기를 시도하지만 ArithmeticException 예외를 throw하고 결과로 0을 반환합니다.

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

11을 0으로 나누는 5번째 줄에서 예외가 throw되므로 try 문 나머지 부분인 6번째 줄은 실행되지 않습니다. 대신 7번째 줄에서 예외가 catch되고 결과로 0이 반환됩니다.

업데이트됨 May 6, 2017 작성: Per C.

quiz지식 테스트하기

Which string represents a newline character?

A
*new
0%
B
-line
0%
C
$nl
0%
D
\n
0%
Correct! Incorrect!     View the Newline definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 예외에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.