try:
...
except [발생 오류[as 오류 메시지 변수]]:
...
try, except만 쓰는 방법
오류 종류에 상관 없이 오류가 발생하면 except 블록을 수행
try:
...
except:
...
발생 오류만 포함한 except문
try:
...
except 발생 오류:
...
발생 오류와 오류 메시지 변수까지 포함한 except문
try:
...
except 발생 오류 as 오류 메시지 변수:
...
오류가 발생할 경우 그냥 통과시켜야 할 때
try:
f = open("나없는파일", 'r')
except FileNotFoundError:
pass
class Bird:
def fly(self):
raise NotImplementedError
Bird 클래스를 상속받는 자식 클래스는 반드시 fly함수를 구현해야한다는 뜻의 fly함수이다.
내장 클래스 Exception 클래스를 상속하여 만들 수 있다.
class My
Error(Exception):
pass
사용방법은 아래와 같다
try:
say_nick("천사")
say_nick("바보")
except MyError:
print("허용되지 않는 별명입니다.")
만약 오류 메세지를 사용하고 싶다면 아래와 같이 사용할 수 있다.
try:
say_nick("천사")
say_nick("바보")
except MyError as e:
print(e)
하지만 실행해보면 오류 메시지가 출력되지 않는데 보이게 하려면 오류 클래스에 다음과 같은 __str__ 메서드를 구현해야 한다. __str__메서드는 print(e)처럼 오류 메시지를 print문으로 출력할 경우에 호출되는 메서드이다.
class MyError(Exception):
def \_\_str\_\_(seld):
return "허용되지 않는 별명입니다."