본문 바로가기

예외, 예외처리 방법들 본문

파이썬/파이썬 기본

예외, 예외처리 방법들

jaegomhoji 2022. 2. 3. 21:21

** 예외란, 실행 중 발생하는 예상하지 못한 문제이다. 예외가 발생하면 발생장소를 기점으로 실행이 중단된다.

ex) ZeroDivisionError : division by zero <- 오류가 발생할 수 있는 상황에서 , 예외처리르 담당하는 클래스가 표시된다 

 

** 예외같은 경우, exception이라는 클래스를 상속하여 만들어져 있다. 

Exception(최상위 클래스) >> Arithmetic Error 산술적 에러 / Environment Error 환경 에러 / LookupError / Syntax Error구문에러

대표적으로는                                   zerodivisionerror         /          IOError                /  IndexError    / IndentationError(들여쓰기 ) 

 

** exception 클래스 : 예외를 담당하는 클래스 

except Exception as e: print(f'{e}) 로 어떤 에러인지 에러의 종류를 확인할 수 있음 

** raise Exception("user input details")키워드를 이용하면 예외를 발생시킬 수 있다

* 모듈(편의상 현재 실행문)에 조건에 따른 raise Exception을 정의하고, 실행문에서 해당 모듈 호출시 except절에서 해당 예외를 출력하게 되면, 에러가 제외되면 설정한 에러 설명이 나오는 것을 볼 수 있다. n<4라 총 3번 실행 후 process shutdown

 

** execption을 각각 만들어서 a or b 실행을 매듭짓거나, error.args[0,1,2...] 인덱스를 만들어 조건을 실행할 수도 있다. 

 

** 사용자 exception 클래스

추가할것 

+

+

+

+

 

** 예외처리 : 오류 발생이 예상되는 라인을 별도 예외 처리하여 실행에 문제가 없도록 해줌 

** 처리방법 : 예외 발생을 처리해야 하는 구문을 try ~ except로 감싸준다.

** try 코드블록에서 예외가 발생했을 경우 except의 실행문을 시행한다. 

 

** 예외처리 실습하기, try 와 except 시행 시 실행되는 부분과 예외처리 되는 부분을 정확하게 구분해야 한다 

\\

** try: except: else:  try 코드블록에서 예외가 발생했을 경우 except의 실행문을 시행하는데, 예외가 발생하지 않았을때 실행할 구문

 

* 예외로 처리해야할 오류 발생 예상 구문을 try: 로 묶음

* 같은 들여쓰기 line에서 except 실행문 ( try에서 오류가 났을경우 예외처리할 실행)

* 예외가 아닌 경우를 else로 분류, 들여쓰기 아래 조건 중첩문 if , else를 또 실행,

   else구문 이후 다시 반복문을 처음부터 실행해야 하기 때문에 break 아닌 continue(while이라서 안써도 정상적으로 실행)

* 조건문 달성 이후, 반복문 조건을 달성하면 마지막으로 print로 list.append한 결과 확인 

 

** finally : 예외 발생과 상관없이 항상 실행하는 경우 

사용 예) 외부 자원을 가지고 항상 이용을 할때, 작업을 하는 도중에 예외가 발생 하든 안하든 마지막에 이용 해제를 하기 위해 

 

'파이썬 > 파이썬 기본' 카테고리의 다른 글

Packages = Matplotlib  (0) 2022.02.23
Packages - Pandas  (0) 2022.02.22
텍스트 파일 다루기  (0) 2022.02.03
패키지 이용과 site-packages 경로  (0) 2022.02.03
메인(실행) 파일  (0) 2022.02.03
Comments