메인함수 서브함수 와 Exception
조회수 405회
안녕하세요.
파이썬 코드를 짜다가 궁금한 점이 생겼는데 교재나 강의에서는 알려주지 않는 내용이라 여기에다 올려봅니다. 도움 좀 부탁드립니다.
아래와 같이 func1, func2는 모두 try, exception 로 둘러싸여 있고, func1 에서 func2를 호출했을 때 만약 func2에서 에러가 발생한다면,
1) 'error in func2' 에러 메시지만 출력이 됩니다. 왜 메인함수의 exception은 처리되지 않는지요.
2) finally: 부분은 'end of func1' 과 'end of func2' 둘 다 출력되어야 정상인지요
def func1():
try:
func2()
exception:
print('error in func1')
finally:
print('end of func1')
def func2():
try:
r= request.get('http://naver.com')
exception:
print('error in func2')
finally:
print('end of func2')
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
caller에 예외를 넘기고 싶다면 raise 을 사용합니다.
https://docs.python.org/ko/3/reference/simple_stmts.html#the-raise-statement
댓글 입력