[혼공파] 너도 오류가 나지 않도록 조심해.

mentos·2025년 2월 16일
post-thumbnail

슬슬 제목을 뭘로 할지 고민이 됩니다.

그러다 갑자기 생각난 이 짤을 패러디 해봤어요

암튼 오늘 숙제는 구문 오류(Syntax Error)와 예외(Exception)의 차이를 설명하는 겁니다.

일단 차이점을 알아보려면 각각이 무엇인지 알아야 합니다.

구문오류(Syntax Error)란?

: 코드의 문법이 잘못되어 프로그램이 실행조차 되지 않게 하는 오류입니다. 프로그램 실행 전 오류를 감지합니다.
대표적으로 위 사진의 예시처럼 괄호를 닫지 않는 경우가 있습니다.
코드가 실행되기도 전에 SyntaxError라며 오류가 발생하는 모습입니다.

예외(Exception)란?

: 코드의 문법은 올바르지만, 프로그램 실행 중에 발생하는 오류입니다.
대표적으로 위 사진의 예시처럼 존재하지 않는 리스트의 인덱스를 출력 시켰을 때 발생합니다.

차이점

구문 오류는 프로그램 실행 "전"에 오류를 인터프리터가 감지하여 프로그램을 멈추기 때문에, 잘못된 문법의 위치가 어디더라도 실행조차 되지 못합니다.예시로 문법이 잘못된 3번 줄 코드보다 앞서있는 1번, 2번 줄 코드도 정상적으로 출력되지 못 한 모습입니다.


하지만 예외는 실행 "중"에 오류를 감지하기 때문에, 오류가 있는 코드보다 앞서있는 코드들은 정상적으로 출력이 가능합니다. 예시로 list라는 리스트의 존재하지 않는 인덱스를 출력하는 5번 줄 코드보다 앞서있는 2번, 3번 줄 코드는 정상적으로 출력된 모습을 볼 수 있습니다.


이때 구문 오류 상황에서는 잘못된 문법을 찾아 수정해야 하지만, 예외 상황에서는 "try except" 구문을 추가하여 예외가 발생해도 프로그램은 계속 실행되도록 처리할 수 있습니다.

0개의 댓글