패키지란 ('.')를 이용하여 파이썬 모듈을 계층적으로 관리할 수 있게 해준다.
EX) A.B >>A는 패키지명, B는 A패키지의 B모듈
예외처리 (Exception Handling)
오류가 나도 무시하고 싶거나, 그에 맞는 처리를 하고 싶을 때 try, except를 사용해서 예외적으로 오류를 처리할 수 있다.
오류가 일어나는 경우
- 없는 자원 참조
- 불가능한 산술 연산
- 리스트 범위 오류 등
FileNotFoundError: No such file or directory
>> 없는 파일을 열려고 시도 했을때 발생하는 에러
ZeroDivisionError : division by zero
>>0으로 나누려 할때 발생하는 에러
IndexError : list index out of range
>>리스트 범위를 벗어날때 발생하는 에러
ImportError >> import 문장이 읽으려는 모듈 정의가 없을 때 발생하는 에러
keyError >>없는 딕셔너리 키가 사용되었을 때 발생하는 에러
NameError >> 변수나 함수 이름 등 글로벌/로컬 이름이 없을 때 발생하는 에러
TypeError >> 연산자나 함수가 적절하지 않은 자료형 객체에 적용되었을 때 발생하는 에러
try, except 문의 구조
try :
~~~
except :
~~
오류 종류에 상관없이 오류 발생시 except 문 실행
try :
~~~
except 발생오류 :
~~
발생 한 오류가 except문에 미리 정해놓은 오류와 일치할때 except문 실행
try :
~~~
except 발생오류 as 오류메시지변수:
~~
print(e)
발생 한 오류의 오류 메시지 까지 알 고 싶을땐 위처럼 하면 된다. 오류 메시지변수는 ( = e)
print(e)했을때, 오류 메시지가 제출
오류 회피하기
try:
except FileNotFoundError:
pass //pass 사용하여 오류를 회피
오류를 일부로 발생하기
raise 명령어 사용
예외 만들기
특수 경우 Exception클래스를 상속받아 예외처리를 위한 코드를 만들어 사용가능하다
class MyError(Exception):
pass
근데 이렇게 하면 오류메시지 출력 안된다.
class MyError(Exception):
def __str__(self):
return "블라블라블라"
처럼 해야 가능하다,
오류메시지를 사용하고 싶을땐
except MyError as e:
print(e)
'공부 > 코딩공부' 카테고리의 다른 글
알고리즘 최대값 구하기 python (0) | 2021.11.24 |
---|---|
[c언어] 백준 최대공약수 하나 빼기 (0) | 2021.08.18 |
파이썬 모듈 (0) | 2021.05.22 |
파이썬 클래스 (0) | 2021.05.17 |