try 와 except의 위치
320
작성한 질문수 6
선생님 안녕하세요.
9번째 퀴즈를 풀다가 예외처리 구문에 대한 궁금증이 생겨서 질문남깁니다.
선생님의 답안을 보기전 스스로 퀴즈를 풀어보았을 때의 제 코드는,
class SoulOutError(Exception):
pass
try:
chicken = 10
watiting = 1
while(True):
어쩌구저쩌구
break
except ValueError:
어쩌구
except SoulOutError:
저쩌구
이런 식이었습니다.
당연하게도(?) 제대로 작동하지 않았고, 해설을 듣고나니 궁금증이 생겨서요.
try 와 except 가 동일한 위계(?)위상(?)인 것은 알겠는데
그 위치가 while문 안으로 들어가야 한다는 것은 어떻게 알 수 있나요?
try-except가 while문 안으로 들어가면 해당 while문 내에서만 영향을 미치고,
while문 밖에 쓰일 경우 try-except 사이에 해당하는 모든 구문에 try-except가 영향을 미치는 것이 아닌가 싶었는데, (=결국 이 문제에서는 두 가지가 동일한 결과일 것이라고 예측함)
그렇다면 제가 쓴 코드도 정상작동 해야하는 것 아닌가요ㅠㅠ?
어디서 부터 잘못된 것인지...흑흑
여담이지만, 매 챕터 마지막에 있는 퀴즈를 풀다보니
선생님께서 왜 직접 해보는게 중요하다고 말씀하셨는지 이해가 갑니다.
강의를 들으며 코드를 그대로 따라서 작성해보는 것도 물론 좋은 공부가 되지만,
퀴즈를 풀면서 배운 걸 적용해보고,
그 과정에서 잘못 이해했던 부분을 발견하고 오류를 수정하며
배운 내용을 복습할 기회를 갖고 더 확실하게 알아갈 수 있네요.
이렇게 좋은 강의를 듣을 수 있게 해주셔서 감사합니다 :)
아, 그리고 한가지 작은 건의사항이 있다면
다음에 제작하시는 강의에서는 선생님이 작성하신 코드를 다운받을 수 있었으면 좋겠습니다!
강의 후반부로 갈수록 코드가 길어져서 전체 코드를 확인하며 제 코드의 오류를 찾고 싶을 때 동영상을 이리저리 넘기면서 확인해야하는 약간의 어려움이 있더라구요.
기본편을 완강하고 다음에 나올 활용편도 꼭 듣고싶은 의지를 불태우며 바래보는
아주 작은 소망입니다...☞☜
답변 2
0
안녕하세요
"try-except가 while문 안으로 들어가면 해당 while문 내에서만 영향을 미치고,
while문 밖에 쓰일 경우 try-except 사이에 해당하는 모든 구문에 try-except가 영향을 미치는 것이 아닌가 싶었는데"
아주 잘 이해하셨습니다 ^^ 작성하신 코드가 어떻게 동작을 안하는지는 모르겠지만, try except 의 위치가 while 문 밖에 있거나 안에 있거나의 차이는,
1. 밖에 있을때 에러 상황이 발생하면 except 가 실행되고 while 문은 더이상 실행되지 않게 됩니다.
2. 안에 있을때 에러 상황이 발생하면 except 가 실행되고 계속해서 while 문이 이어서 실행됩니다.
이 차이로 인해 아마 원하는 동작을 안하셨을거 같아요, 이해가 안되신다면 다시 문의글 남겨주세요!
활용편에서 진행하는 강의는 소스코드를 다운로드 하거나 공유받으실수 있도록 고민해보겠습니다 ^^
감사합니다.
quiz 8 오류 문제
0
70
1
str() 작성 위치
0
51
1
아나콘다
0
60
1
윈도우 설치 도와주세요
0
74
1
std_weight함수에서weight만return가능한가요?
0
68
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
34
1
설치해서 시작하는데 문제가 있습니다.
0
69
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
104
1
2장 환경설정 문의
0
74
1
스타크래프트 프로젝트
0
74
1
python 파일명.py 입력시 Python 출력
0
133
1
로드맵 질문있습니다!
0
85
2
오류
0
74
1
질문 있습니다.
0
75
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
172
1
#퀴즈 3의 5번 질문
0
72
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
81
1
가변인자의 위치가 중요한가요?
0
79
1
vscode옛날 버전 설치
0
221
1
글자색상이 선생님처럼 안나옵니다
0
186
1
슬프네
0
156
1
quiz 6번 관련 문의입니다.
0
129
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
194
1
피드백 부탁드립니다
0
93
1





