없는 파일을 열려고 하는 경우
숫자를 0으로 나누려고 하는 경우
리스트의 값을 index로 찾으려고 하는데, index가 length값보다 커서 값이 없는 경우
try-except문
try-except만 쓰는 방법
try :
...
except
...
발생 오류만 포함한 except문
try :
...
except 발생오류
...
발생 오류와 오류 변수까지 포함한 except문
try:
...
except 발생오류 as 오류변수:
...
try:
4 / 0
except ZeroDivisionError as e:
print('except ZeroDivisionError as e : ', e)

try:
# 무언가를 수행한다.
print('try-finally > try')
finally:
print('try-finally > finally') # 중간에 오류가 발생하더라도 무조건 실행된다.

기본 구조
try:
...
except 발생오류1:
...
except 발생오류2:
...
try:
a = [1,2]
print(a[3])
4/0
except ZeroDivisionError:
print("except ZeroDivisionError: > 0으로 나눌 수 없습니다.")
except IndexError as e:
print('except IndexError as e: : ', e)

+) 소괄호로 두개를 묶어서 한번에 처리할 수 있음

try:
...
except [발생오류 [as 오류변수]]:
...
else: # 오류가 없을 경우에만 수행
...
try:
age=int(input('나이를 입력하세요: '))
except:
print('입력이 정확하지 않습니다.')
else:
if age <= 18:
print('미성년자는 출입금지입니다.')
else:
print('환영합니다.')


pass 사용하기
try:
f = open("나없는파일", 'r')
except FileNotFoundError:
pass
raise NotImplementedError 사용
파이썬 내장클래스인 Exception을 상속함.
class MyError(Exception):
print('MyError 실행됨')
pass
def say_nick(nick):
if nick == '바보':
raise MyError()
print(nick)

참고 링크 : https://wikidocs.net/30