Python(17)

9mond·2023년 11월 8일
0
post-thumbnail

1. 오류처리

  • 오류가 발생되었을 때 별도의 처리를 하거나 무시하고 프로그램을 실행하는 것
  • 오류가 발행될 것으로 예상되는 문장을 try 블록에 코딩하고 try 블록에 코딩된 내용을 실행하다가 오류가 발생하면 더이상 try 블록의 내용을 실행하지 않고, 해당 오류의 except 블록에 코딩된 내용을 실행한다.
  • 파이썬은 발행할 수 있는 모든 문제를 예외 클래스로 만들어 놓았다.
  • 모든 예외 클래스는 BaseException 클래스의 자식 클래스이며 BaseEcveption 클래스의 자식 클래스 중 Exception 클래스는 모든 예외 클래스의 부모 클래스가 된다.
try :
  오류가 발생될 것으로 예상되는 문장
  ...
  ...
exception 오류 클래스명1 :
  해당 오류가 발생하면 실행할 문장
  ...
exception 오류 클래스명2 :
  해당 오류가 발생하면 실행할 문장
  ...
else :      # 옵션
  오류가 없을 경우 실행할 문장
  ...
finally :   # 옵션
  오류 발생 여부와 상관없이 무조건 실행할 문장
  ...





이렇게 해줄 수도 있다.ZeroDivisionError으로는 IndexError를 못잡기 때문에


오류 처리 순서가 잘못 되었다.


오류처리



문제

숫자와 문자를 섞어서 입력하면 숫자 + 문자형식의 오름차순으로 정렬하여 출력하는 프로그램을 작성해보자 (단, 000을 입력하면 입력을 멈추고, 정렬을 시작함)

  • 데이터를 입력하세요 : abc
  • 데이터를 입력하세요 : 123
  • 데이터를 입력하세요 : 1
  • 데이터를 입력하세요 : bbb
  • 데이터를 입력하세요 : 000
  • 입력 끝 -> 정렬

결과 : [1, 123, 'abc', 'bbb]

profile
개발자

0개의 댓글