3. 예외처리
- try ~ except
- try : 에러 문장
- except : 에러 났을 때 실행할 문장
- 위와 같이 입력할 경우, 에러 문장에서 에러가 발생했을 때 -> except 에 있는 문장이 실행된다 (try 문장은 실행되지 않은 , 에러 뽑아주는 것과 같음.)
- 사용법)
- try:
- 에러 문장
- except:
- 에러가 났을 때 실행할 문장
- try:
- 다른 사용법 )
- try:
- 에러문장
- except Exception as e: #이렇게 [ as e ] 형태로 적어 놓으면 발생할 에러문이 string 형태인 -> e로 취급된다. => 에러는 e 라고 할 수 있다.
- print(e)
- 에러가 났을 때 실행할 문장
- 위와 같이 입력할 경우 에러 문장에서 에러가 발생했을 때 except 에 있는 문장이 실행된다.
- 에러 내용이 print(e) 를 통해 찍힌다.
- try:
- 다른 사용법)
- try:
- 에러 문장
- except:
- 에러가 났을 때 실행할 문장
- else:
- 에러가 안나면 실행할 문장
- finally:
- 에러 발생 여부와 상관없이 항상 실행될 문장
- try:
- 예외의 강제 발생
- raise Exception("강제로 에러를 발생시킴")
- 이와 같은 방식으로 raise 문을 통하여 우측의 string 을 출력하여 에러가 발생하게 할 수 있습니다.
- 강제로 에러가 나오게 한다고 생각하면 된다.
- Assert 문
- 사용예시 를 보면서 이해하자)
- A=3
- assert A>10 , 'A가 너무 작습니다.'
- (다음과 같이 assert 조건, 아니면 행할 행동)
- assert 로 시작하는 문장에 조건식을 적으면 ,
- 조건을 만족하지 않을 경우 arror 가 발생하며 우측의 string을 출력합니다.
- 사용예시 를 보면서 이해하자)
실습을 해보자!
# 추상클래스는 ABCMeta를 상속 받고 추상메소드가 있어야 함
from abc import ABCMeta, abstractmethod # abc 에서 2개나 import해야하나??
class Abstract1 (metaclass=ABCMeta): # metaclass = ABCMeta 로 설정하는 것이 추상클래스의 핵심
attr = "추상클래스"
@abstractmethod # 이렇게 @로 해주면 자식이 반드시 해당 메소드를 재정의해야함
def m1(self):
pass
def m2(self):
print('대박')
#추상클래스는 객체를 못 만듬
a1 = Abstract1() # 혼자 따로 쓰이지 않음 -> 추상적이니까!
# 추상클래스를 상속 받은 클래스는 반드시 추상메소드를 재정의
class A1(Abstract1):
def m1(self):
print('사건')
def p1(self):
print("아 이건 필수네")
a1 = A1()
a1.m1(); a1.p1()
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<사진 2장>
> 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스_컴공전공필수+인공지능 > 0원 챌린지' 카테고리의 다른 글
3/03(금) 클래스 실습(복습) (0) | 2023.03.03 |
---|---|
3/02(목) 파일 입/출력 (0) | 2023.03.02 |
2/28(화) 상속과 예외처리 (0) | 2023.02.28 |
2/27(월) 파이썬 - 클래스5 (0) | 2023.02.27 |
2/26(일) 파이썬 - 클래스4 (0) | 2023.02.26 |