카테고리 없음

[혼공파] 5주차 Chapter 06 ~ 07(07-1)

committitur-song02 2025. 2. 19. 15:15

 

5주차 과제

5주차 기본 과제 구문 오류와 예외의 차이 설명하기(p.379 1번 문제)

프로그래밍하다 보면 오류가 생길때가 존재하는데 크게 두가지 종류로 설명할수 있다

 

1.프로그램 실행전에 발생하는 오류

 >> 구문오류 (syntax error)

2.프로그램 실행중에 발생하는 오류

 >> 예외 (exception) 또는 런타임 오류 (runtime error)

로 설명이 가능한데 각각을 추가로 설명하면

 

1. 구문오류 

구문 오류 예시

창에 Synyax error 라고  뜨면서 실행이 안 되는데 이때 Synyax error는 구문에 문제가 있어서 프로그램이 실행조차 되지 않는 오류라는 뜻이다 !

위 예시 같은 경우 닫는 따옴표가 없어서 생기는 오류임으로 다시 넣고 실행하면 잘 실행되는걸 볼수 있다

 

 

2. 예외 또는 런타임 오류

p362 예제

 

예제 실행 결과

구문 오류와 달리 실행 도중에 발생하는 오류를 의미합니다.

해결 방법은 구문 오류와 다르지 않습니다. 문제가 있는 코드를 제대로 고쳐주기만 하면 됩니다.

위 예제 같은 경우 오류는 list_a 가 정의 되지 않았다는 점이 오류의 원인이고 정의 해주면 정상적인 실행이 가능합니다. 

 

하지만 간단한 구문에서는 수정을 해서 실행하면 되지만 프로그램을 만들다 보면 복잡한 방법들로 처리해야 하는 경우가 있습니다

 

예외를 해결하는 모든 것을 예외 처리라고 합니다.

 

기본 예외 처리

 

1. 조건문을 사용하는 방법

 

조건문을 사용하여 예외적인 상황까지 고려하여 문제가 생길수 있는 상황의 조건을 만들어 주는 방식으로 처리 가능합니다

 

2. try구문을 사용하는 방법

 

1) try except 구문

 

try:

     예외가 발생할 가능성이 있는 코드 

except:

    예외가 발생했을 때 실행할 코드

 

추가

 

강제  종료되는 것부터 막자는 목적으로 사용시

pass 키워드가 넣어서 처리

 

해당 코드가 딱히 중요한 부분이 아니라면 pass 사용해서 해결하기도 함

 

2) try except else 구문

 

try:

     예외가 발생할 가능성이 있는 코드 

except:

    예외가 발생했을 때 실행할 코드

else:

     예외가 발생하지 않았을 때 실행할 코드 

 

예외처리에 else 구문이 있는 프로그래밍 언어는 소수입니다 소수라는 의미는 꼭이 이렇게 처리 하지 않아도 문제는 없지만 의미는 알아 둘 필요가 있습니다.

 

3) finally 구문

 

try:

     예외가 발생할 가능성이 있는 코드 

except:

    예외가 발생했을 때 실행할 코드

else:

     예외가 발생하지 않았을 때 실행할 코드 

finally:

    무조건 실행할 코드

 

finally 구문 : 예외가 발생 유무와 관련 없이 실행되는 코드

 

try, except, finally 구문의 조합

 

1. try구문은 단독 사용 불가능 , except, finally구문와 함께 사용해야 한다

이유는 예외를 어떻게 처리 할지를 결정하지 않으면 try구문을 사용하는 의미가 없기 때문

 

2. else구문은 반드시  except구문 뒤에 사용해야 한다