파이썬으로 작업하다 보면 try~except를 자주 사용하게 된다. 에러가 발생하더라도 전체 작업이 중단되지 않게 하기 위해서인데, 문제는 이걸 여기저기 덕지덕지 사용하다 보니 나중에 디버깅을 할 때 도대체 어디서 문제가 생겼는지 한 번에 파악하기가 어려워졌다는 점이었다. 이 글에서는 내가 실제로 겪었던 방식들을 기준으로, 디버깅 과정에 조금이나마 도움이 되었던 예외 처리 방법을 정리해봤다. try~except + print(e)에러가 발생해도 코드는 계속 동작하게 두고, 어떤 에러가 발생했는지만 로그로 남기는 방법이다.def convert_to_int(value): try: return int(value) except ValueError as e: print(e) ..
분류 전체보기
파이썬으로 작업하던 중 “이 상황에서는 그냥 진행하면 안 되는데…” 싶은 순간에 의도적으로 에러를 발생시키는 게 필요해져서 알아보니 raise라는 문법을 발견했다. 이번 글에서는 raise의 사용 예시와 상황에 맞는 예외들을 정리해봤다 raise는 언제 쓰는 게 좋을까?raise는 “이 상태는 정상 흐름이 아니다” 라는 것을 코드로 명확히 표현할 수 있는 방법이다.입력값이 잘못됐거나, 필수 데이터가 없거나, 더 이상 처리를 진행하면 안 되는 경우에 특히 유용했다. raise 사용 예시def validate_age(age): if age 150: raise ValueError("나이는 150 이하여야 합니다.") return age조건을 만족하지 않으면 즉시 ValueError를 ..
* Translated by ChatGPTIt’s been over half a year since I switched from VSCode to Cursor. Although Cursor is still slightly less stable compared to VSCode at times, I’ve generally been quite satisfied with it. However, after the agent feature update in early November, I ran into an issue where the Jupyter Notebook kernel stopped being recognized. It turned out I wasn’t the only one experiencing ..
VSCode에서 Cursor로 넘어온 지도 벌써 반년이 지났습니다. 아직은 VSCode에 비해 가끔 불안정한 모습을 보이지만, 개인적으로는 꽤 만족하며 잘 사용 중인데요. 그런데 11월 초 에이전트 기능이 업데이트된 이후로 주피터 노트북 커널이 인식되지 않는 문제가 발생했습니다. 저만의 문제는 아니었는지 Cursor 포럼에도 동일한 버그 제보가 올라와 있었고, 임시 해결책으로는 “이전 버전을 다시 설치하라”는 조언이 있었습니다. 그래서 그동안은 그렇게 사용하고 있었는데, 최근 이것저것 만지다가 우연히 해결이 되어 기록을 남겨봅니다. 정말 별거 아닌 시도였는데… 의외로 됐습니다. Kernel Selection doesn't workWhere does the bug appear (feature/product..