41.3.2 질의
, kang jisu님이 작성41.3.2의 코드에서, except RuntimeError가 일어나는 지점은 19라고 판정이 되었는데, 왜 저 지점에서 에러가 나는건가요?
저는 for i in range(20)이라고 되어있는 부분에서 i=19 일때 끝나니까, 본 루틴이 끝나지만 corroutine은 while(1)이라고 되어있으니 계속 진행되니까 RuntimeError가 뜬다고 생각했는데 맞을까요?
Re: 41.3.2 질의
, 도장_ 관리자님이 작성코루틴이 while(1)이기 때문에 계속 진행되니까 RuntimeError가 뜨는 게 아닙니다.
코루틴은 기본적으로는 종료되지 않는 함수입니다. 예제에서는 co.throw로 직접적으로 RuntimeError를 던져서 코루틴을 예외로 종료시키는 방법을 설명한 것입니다.
코루틴을 종료할 필요가 있다면 이러한 방법으로 종료하라는 것입니다.