본문 바로가기
취미부자/취미1_코딩

패스트캠퍼스 챌린지 20일차/ 에러와 예외처리/예외만들기

by 연습중인최 2021. 11. 20.
반응형

 


--오늘의 학습 범위--

 

Ch 11. 예외 처리

CH11_01. 에러와 예외처리

CH11_02. 예외만들기


CH11_01. 에러와 예외처리

 

◼ 예외처리가 필요한 이유

프로그램 실행 중에 발생하는 에러를 미연에 방지

 

 

◼ try - except 구문

try: 

    예외가 발생할 수 있는 코드

except:

    예외 발생 시 실행할 코드

 

◼ else, finally

else:

    예외 발생하지 않은 경우 실행할 코드

finally:

     항상 실행할 코드     // 자원 리소스를 반환할 때 

실습>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 원화를 입력, 환율 입력 -> 달러값
 
won = input("원화금액을 입력 하세요>>>")
dollar = input("환율을 입력 하세요>>>")
 
try : #예외가 발생 할 수 있는 코드
    print(int(won) / int(dollar))
except ValueError as e: # 예외가 발생했을 때 실행되는 코드     ValueError:발생할 수 있는 에러 직접 지정 가능
    print("예외가 발생했습니다.", e)
except ZeroDivisionError as e:
    print("나누기 0은 불가능 합니다.", e)
 
else:
    print("예외가 발생되지 않았을 떄 실행되는 코드")
finally: # 파일열고나서 닫기 / 리소스 반환을 꼭 해줘야 하는 코드에 작성
    print("예외가 발생하던지, 발생하지 않던지 항상 실행되는 코드")
 
 
print("프로그램이 끝났나요?")
 
 
 
cs

 

 

CH11_02. 예외만들기

 

◼raise 구문 사용법 : 

에러를 강제로 발생시키기 위해 사용

raise 예외("에러 메세지")    raise Exception

                                    raise Exception("에러 메세지")

 

◼예외 계층 구조

 

 

//Exception이 모든 내장 예외들을 다 가지고 있음

//그리고 각각의 내장 예외들은 하위 예외들을 가지고 있음

 

 

 

 

 

 

 

 

 

◼에러 만들기

 

class 예외(Exception):

    def __init__(self):

          super().__init__("에러 메세지")

 

실습>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# raise 구문 사용해서 에러를 강제로 발생시켜 보자
 
try:
    num = int(input("음수를 입력해 주세요>>>"))
    if num > 0:
        raise ValueError("양수는 입력 불가")
except: ValueError as e:
    print("에러 발생!", e)
 
 
# 에러 만들기
 
class Error(Exception):
    def __init__(self):
        super().__init__("양수는 입력 불가")
 
try:
    num = int(input("음수를 입력해 주세요>>>"))
    if num > 0:
        raise ValueError("양수는 입력 불가")
except: Error as e:
    print("에러 발생!", e)
cs

 

 

 

 

 

 

link : 

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형

댓글