작성
·
252
1
예외 처리 상황이 발생하면, catch block으로 오는 것 까지는 이해가 가는데, 실제 프로그램에서, 어떤 식으로 처리를 하나요?
코드 양이 많다면, try-catch 뒤에 나오는 코드에서, 앞에 try-catch 코드가 정상적으로 가동했다는 가정을 하고, 코드들이 짜여졌을터인데, 단순히 에러가 났다는 표시만 하면, 뒤에서 계속적으로 에러가 나서 프로그램 전체가 다운되는 결과가 생길수 있을것 같은데... 이런 상황을 실제에서는 어떻게 처리를 하는지 궁금합니다.
물론 어떤 에러가 생길지 미리 정확히 예측을 한다면, 모든 에측 상황을 정해서 거기에 맞는 대응을 하면 좋겠지만, 그렇지 않은 경우에라도, 관련 부분에 에러가 날 수는 있더라도, 그 에러로 인해서 전체 프로그램이 다운 되면 않될것 같은데, 이런 경우는 어떻게 일반적으로 처리를 하는지가 궁금합니다.
답변 2
1
맞습니다. 말씀하신 내용이 사실 상당히 중요한 부분중에 하나 입니다.
코드를 작성할때 try-catch 문은 정확하게 예상 가능한 경우가 아닌 책임지지 못할곳에서는 작성하지 않는게 좋습니다. 그만큼 원래 코드를 제대로 작성해야만 하는게 원칙입니다. 개발자는 자기 코드에 대한 책임이 있습니다. 자기 스스로도 예측하지 못하는 에러가 나는 프로그램을 작성해서는 안됩니다. 그건 책임전가의 문제로밖에 생각되지 않습니다.
파이썬의 try-catch 문은 아주 강력합니다. 그렇기 때문에 절대로 남발되서는 안되는 부분입니다. 고급언어일수록 사용자 편의가 커져서 오류처리가 강력해지고 유연해지는 특성이 있습니다만 이를 다른 관점에서 생각해보면 프로그램이 거대해지고 복잡해진 경우에 try-catch 같은 예외처리를 남발하게 되면 실제 어디서 어떤 문제가 발생했는지를 찾기 힘들어지게 됩니다.
0