728x90
반응형

exception-handling 6

Python의 try-except-else문

질문 : Python에서 try-except-else를 사용하는 것이 좋은 습관입니까? 때때로 파이썬에서 나는 블록을 본다. try: try_this(whatever) except SomeException as exception: #Handle exception else: return something try-except-else가 존재하는 이유는 무엇입니까? 나는 흐름 제어를 수행하기 위해 예외를 사용하기 때문에 그런 종류의 프로그래밍을 좋아하지 않습니다. 그러나 그것이 언어에 포함되어 있다면 그에 대한 정당한 이유가있을 것입니다. 예외는 오류가 아니며 예외적 인 조건 (예 : 디스크에 파일을 쓰려고하는데 더 이상 공간이 없거나 권한이 없을 수 있음)에만 사용해야하며 흐름을 위해서가 아니라는 점을 이해..

파이썬 try-else절의 용도

질문 : 파이썬 try-else try 문의 else 절의 용도는 무엇입니까? 답변 else 블록의 문은 try 의 맨 아래에서 떨어지면 실행됩니다 (예외가없는 경우). 솔직히 저는 필요를 찾지 못했습니다. 그러나 예외 처리 참고 사항 : else 절을 사용하는 것이 try ... except 문으로 보호되는 코드에 의해 발생하지 않은 예외를 실수로 포착하는 것을 방지하기 때문에 try 절에 추가 코드를 추가하는 것보다 낫습니다. IOError throw 할 수있는 메서드가 있고 발생하는 예외를 포착하고 싶지만 첫 번째 작업이 성공하면 IOError를 포착하고 싶지 않은 경우 수행 할 다른 작업이 있습니다. 이 작업에서 다음과 같이 작성할 수 있습니다. try: operation_that_can_thro..

디버그 정보와 함께 Python 오류를 기록하는 방법

질문 : 디버그 정보와 함께 Python 오류를 어떻게 기록합니까? logging.error 로 Python 예외 메시지를 로그 파일에 인쇄하고 있습니다. import logging try: 1/0 except ZeroDivisionError as e: logging.error(e) # ERROR:root:division by zero 예외 문자열뿐만 아니라 예외 및이를 생성 한 코드에 대한 자세한 정보를 인쇄 할 수 있습니까? 줄 번호 또는 스택 추적과 같은 것들이 좋을 것입니다. 답변 logger.exception 은 오류 메시지와 함께 스택 추적을 출력합니다. 예를 들면 : import logging try: 1/0 except ZeroDivisionError: logging.exception("m..

Node.js 모범 사례 예외 처리

질문 : Node.js 모범 사례 예외 처리 며칠 전에 node.js를 사용해보기 시작했습니다. 내 프로그램에서 처리되지 않은 예외가있을 때마다 노드가 종료된다는 것을 깨달았습니다. 이것은 처리되지 않은 예외가 발생하고 컨테이너가 여전히 요청을받을 수있을 때 작업자 스레드 만 죽는 일반적인 서버 컨테이너와 다릅니다. 이것은 몇 가지 질문을 제기합니다. process.on('uncaughtException') 를 방지하는 유일한 효과적인 방법입니까? process.on('uncaughtException') 은 비동기 프로세스 실행 중에도 처리되지 않은 예외를 포착합니까? 잡히지 않은 예외의 경우에 활용할 수있는 이미 빌드 된 모듈 (예 : 이메일 보내기 또는 파일 쓰기)이 있습니까? node.js에서 잡히..

Python 함수가 예외를 발생시키는 지 테스트 하는 방법

질문 : Python 함수가 예외를 발생시키는 지 어떻게 테스트합니까? 함수가 예상되는 예외를 throw하지 않는 경우에만 실패하는 unittest를 어떻게 작성합니까? 답변 TestCase.assertRaises (또는 TestCase.failUnlessRaises )를 사용합니다. 예를 들면 다음과 같습니다. import mymod class MyTestCase(unittest.TestCase): def test1(self): self.assertRaises(SomeCoolException, mymod.myfunc) 출처 : https://stackoverflow.com/questions/129507/how-do-you-test-that-a-python-function-throws-an-exception

Ruby에서`rescue Exception => e`를 사용하면 안되는 이유

질문 : Ruby에서`rescue Exception => e`가 왜 나쁜 스타일입니까? Ryan Davis의 Ruby QuickRef 는 다음과 같이 말합니다 (설명없이). Don’t rescue Exception. EVER. or I will stab you. Don’t rescue Exception. EVER. or I will stab you. 왜 안돼? 옳은 일은 무엇입니까? 답변 TL; DR : 일반 예외 포착 대신 StandardError 원래 예외가 다시 발생하면 (예 : 예외를 기록하기 위해 구출하는 경우에만) Exception 구하는 것이 좋습니다. Exception 은 Ruby의 예외 계층 구조의 루트이므로 rescue Exception SyntaxError , LoadError , I..

개발관련/other 2021.06.03
728x90
반응형