Python

(20)Python_예외처리

빠스무 2023. 3. 13. 12:43
728x90

1.예외 처리

  • 오류가 발생되었을 때 별도의 처리를 하거나 무시하고 프로그램을 실행하는 것
  • 오류가 발생될 것으로 예상되는 문장을 try 블록에 코딩하고, try블록에 코딩된 내용을 실행하다가 오류가 발생하면 더이상 try블록의 내용을 실행하지 않고 해당 오류의 except 블롣에 코딩된 내용을 실행
  • 파이썬은 발생할 수 있는 모든 문제를 예외 클래스로 만들어 놓음

1-1. try except 사용하기

try:
  오류가 발생할 것으로 예상되는 문장
  ...
  ...
except:
  오류가 발생했을 경우 실행할 문장
  ...

1-2. 특정 예외만 처리하기

try:
  오류가 발생할 것으로 예상되는 문장
  ...
  ...
except 예외이름:
  오류가 발생했을 경우 실행할 문장
  ...

1-3. 예외 에러 메세지 받기

try:
  오류가 발생할 것으로 예상되는 문장
  ...
  ...
except 예외이름 as 변수:
  오류가 발생했을 경우 실행할 문장
  ...

1-4. 예외가 발생하지 않았을 경우 처리하기

try:
  오류가 발생할 것으로 예상되는 문장
  ...
  ...
except 예외이름 as 변수:
  오류가 발생했을 경우 실행할 문장
  ...
else:
오류가 발생하지 않았을 경우 실행할 문장

1-5. 예외와 관계없이 코드 실행하기

try:
  오류가 발생할 것으로 예상되는 문장
  ...
  ...
except 예외이름 as 변수:
  오류가 발생했을 경우 실행할 문장
  ...
else:
오류가 발생하지 않았을 경우 실행할 문장
finally:
  예외 발생 여부와 관계없이 항상 실행할 코드

예외처리 문제

  • 데이터를 입력하면 정렬하여 오름차순 출력하는 프로그램을 작성해보자.(단, 숫자와 문자를 섞어 입력하면 숫자 + 문자 형식으로 정렬, 000을 입력하면 정렬을 시작함)
  • 데이터를 입력하세요: abc
  • 데이터를 입력하세요: 123
  • 데이터를 입력하세요: 1
  • 데이터를 입력하세요: bbb
  • 데이터를 입력하세요: 000
  • 결과 [1, 123, 'abc', 'bbb']

2. 예외 발생 시키기

2-1 함수로 받아 예외 발생시키기

  • 파이썬 함수는 STACK으로 쌓이기 때문에 func1() 에 예외처리를 하여도 잘 동작한다.