본문 바로가기

에러2

[Flask] traceback 에러가 발생하면 콘솔에 아래와 같은 출력이 되는 경우가 가끔 있다. traceback이라는 모듈을 사용하면 이것을 문자열 형태로 그대로 다룰 수 있게 된다. 에러가 발생했을 때, 그 부분을 핸들링하는 부분에서 traceback.format_exc()라는 함수를 실행시키면 위의 문자열을 그대로 리턴하게 된다. 나는 이전 포스팅에서 작성한 모더레이터를 이용하여 에러 traceback을 출력해보았다. 간단하죠? 참고로 traceback.print_exc()라는 함수를 사용하면 바로 출력할 수 있게끔 할 수 있다. 이것을 logger.info를 사용해서 로그 파일에 넣을 수도 있다. 2023. 8. 21.
[Flask] api 에러 핸들러 실제로 백엔드 구현 시, 에러를 굉장히 많이 마주칠 수 있다. 그럴 때 마다 각각의 에러를 처리하기에는 코드도 지저분해지고, 매번 처리해주어야해서 귀찮은 점이 많다. 또한 에러를 일관되게 처리를 못하게 된다. 이를 위해 app.errorhandler라는 데코레이터를 사용하면 된다. api가 실행중일 때 발생한 에러를 처리해주는 데코레이터이다. 사용방법은 아주 간단하다. 이런 데코레이터 하나를 작성해주면 된다. 그렇게 되면 위의 api를 실행하더라도 이와 같은 출력을 낸다. 즉, 에러를 잘 핸들링 한 후에 서버에러를 리턴하는 것 까지 가능하다는 것이다. 데코레이터의 파라미터로 Exception을 주면 모든 예외를 처리하게 되지만, 에러 이름을 넣게 된다면 그 에러만 처리하게 된다. 이렇게 작성한다면, ha.. 2023. 8. 21.