[Python] 혼공단_5주차_Chapter 06 ~ 07(07-1)

Haeun Noh·2023년 2월 12일
0
post-thumbnail

0210


기본미션 : 구문 오류와 예외의 차이 설명하기(p. 379 1번 문제)

선택미션 : p. 381 3번 문제 풀고 인증하기



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


구문 오류

: 괄호의 개수, 들여쓰기 문제 등으로 프로그램이 실행되기도 전에 발생하는 오류


구문 오류가 있는 코드를 실행할 경우, SyntaxError라는 단어가 나온다.

SyntaxError

: 구문에 문제가 있어 프로그램이 실행조차 되지 않는 오류


구문 오류는 해결하지 않으면 프로그램 자체가 실행되지 않는다.
위의 예시를 보면 프로그램이 시작되었습니다!라는 문구조차도 나오지 않는 모습을 볼 수 있다.
따라서 코드를 제대로 수정해야 한다.




예외

: 예외 또는 런타임 오류는 실행 중에 발생하는 오류를 의미


예외가 일어난 경우에는 일단 프로그램이 실행된다.
위의 예시를 보면 프로그램이 시작되었습니다!라는 문구가 출력된 후에 예외 메시지가 나온 것을 확인할 수 있다.

이처럼 실행 중에 오류가 발생했다면 이것이 바로 예외 또는 런타임 오류이다.


예외를 해결하는 방법 또한 구문 오류와 다르지 않게 코드를 제대로 작성해도 해결할 수 있지만
실행 중에 발생하는 오류이므로 try except구문으로도 처리할 수 있다.



구문오류 vs 예외 정리

정리하자면

  • 구문오류 : 문법적인 오류로 프로그램이 실행조차 되지 않게 만드는 오류
    try except 구문 등으로 처리 가능

  • 예외 : 프로그램이 실행 중에 발생하는 오류
    try except 구문 등으로 처리 불가능

이 되는 것이다.



p. 381 3번 문제 풀고 인증하기

1. output = 10 + "개"

  • 예외 : 문법적인 오류는 없기 때문에 실행하며 예외가 나타날 것
  • TypeError : 정수와 문자열을 더하고 있기에 TypeError가 발생할 것

2. int("안녕하세요")

  • 예외 : 문법적인 오류는 없기 때문에 실행하며 예외가 나타날 것
  • ValueError : int()에 문자열과 같은 올바르지 못한 값을 넣었기 때문

3. cursor.close)

  • 구문 오류 : (가 하나 부족한 문법적인 오류가 있기에 구문 오류가 나타날 것
  • SyntaxError : 구문 오류가 나타나면 항상 앞에는 SyntaxError라는 메시지가 나타나기 때문

4. [1, 2, 3, 4, 5][10]

  • 예외 : 문법적인 오류는 없기 때문에 실행하며 예외가 나타날 것
  • IndexError : 실질적인 값을 저장할 변수명이 없는데 인덱스만이 존재하기 때문


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글