본문 바로가기

ExceptionHandling8

Python 파이썬에서 "finally" 절이 왜 필요한가요?, Why do we need the "finally" clause in Python? 질문 나는 왜 우리가 try...except...finally 문에서 finally가 필요한지 잘 모르겠다. 내 의견으로는, 이 코드 블록 try: run_code1() except TypeError: run_code2() other_code() 는 finally를 사용한 이 코드와 똑같다: try: run_code1() except TypeError: run_code2() finally: other_code() 뭔가 빠진 것인가? 답변 이렇게 반환하는 경우 차이가 있습니다: try: run_code1() except TypeError: run_code2() return None # 메서드가 반환되기 전에 finally 블록이 실행됩니다. finally: other_code() 이와 비교: try: ru.. 2023. 10. 11.
Python 파이썬: 예외를 무시하고 계속 진행하는 방법? [중복], Python: How to ignore an exception and proceed? [duplicate] 질문 나는 내 코드에 try...except 블록이 있고 예외가 발생할 때 실제로 코드를 계속 실행하고 싶습니다. 그 경우에는 모든 것이 정상적으로 실행될 수 있습니다. 문제는 except: 블록을 비워 또는 #아무것도 하지 않는 상태로 둘 경우 구문 오류가 발생합니다. 반복문이 아니기 때문에 continue를 사용할 수 없습니다. 코드를 계속 실행하라는 명령을 내릴 수 있는 키워드가 있을까요? 답변 except Exception: pass 파이썬 문서에서 pass 문에 대한 설명 2023. 9. 18.
Python 예외를 적절하게 무시하는 방법, How to properly ignore exceptions 질문 Python에서 예외 처리를 처리하지 않고 try-except를 수행하려면 어떻게해야합니까? 다음이 올바른 방법인가요? try: shutil.rmtree(path) except: pass 답변 try: doSomething() except Exception: pass 또는 try: doSomething() except: pass 차이점은 두 번째 방법은 직접적으로 BaseException에서 파생된 KeyboardInterrupt, SystemExit와 같은 것도 잡을 수 있다는 것입니다. 자세한 내용은 문서를 참조하십시오: try문 예외 하지만 모든 오류를 잡는 것은 일반적으로 좋은 방법이 아닙니다. "except: pass"가 나쁜 프로그래밍 관행인 이유를 참조하십시오. 2023. 6. 7.
Python 파이썬 함수가 예외를 발생시키는지 테스트하는 방법은 무엇인가요?, How do you test that a Python function throws an exception? 질문 어떻게 함수가 예상한 예외를 던지지 않을 경우에만 실패하는 단위 테스트를 작성할 수 있나요? 답변 TestCase.assertRaises (또는 TestCase.failUnlessRaises)을(를) 예제로써 unittest 모듈에서 사용합니다. import mymod class MyTestCase(unittest.TestCase): def test1(self): self.assertRaises(SomeCoolException, mymod.myfunc) 2023. 6. 2.