조건, 예외, 끝에선
조건문, 예외처리 는 비슷한 점이 많지만 Show 1. if ~ else흔히 사용하는 조건문의 사용방법은 매우 간단하다
기본적으로는
2. Try ~ except ~지시한 내용을 실행하다 오류가 나는경우 전체적으로 멈추는 것이 아니라
a 리스트엔 스트링 타입 데이터 4개가 있다 프로그래밍을 하다보면 발생할 오류가 예측 가능하고
중간에 에러가 있더라도 코드 마지막줄까지 실행시켜준다
에러에 대한 메세지를 위와 같이 출력도 가능하다
다음과 같이 인덱스에러에 관한 메세지를 출력하기 때문에
위처럼 한개 이상의 오류를 다룰 수 있다
if, else 문으로만 모든 에러를 처리한다면 indent가 늘어남에 따라 가독성이 떨어지는 코드가 되기 마련입니다. 따라서, 예외처리 구문을 사용하여 코드를 깔끔하게 작성하도록 하여야 합니다. 이번 포스팅에서는 Python의 예외처리 방법에 대해서 간단하게 알아보겠습니다. Python의 예외처리의 기본 흐름은 try -> except -> else -> finally 순으로 진행됩니다. 모든 단계를 사용할 필요는 없고 필요에 따라 적절히 골라서 사용하면 됩니다. 하나씩 설명해보겠습니다.
가장 기본적으로 사용되는 try, except 구문입니다. try 구문에는 예외처리의 대상이 되는 코드를 넣어주고, except 에는 발생이 예상되는 에러를 적습니다. 위의 예제에서는 ZeroDivisionError라고 에러를 명시해주었지만, 이를 생략한다면 어떤 종류의 예외도 처리가 가능합니다. except 구문의 우선순위
except 구문의 경우 위에 적은 에러가 우선순위를 가집니다. 첫번째 print를 실행하는 경우 ZeroDivisionError가 발생하는데, except에 적힌 순서에 따라 NameError인지를 먼저 체크하고 다음에 존재하는 except를 체크하여 "zero division error"를 출력하게 됩니다. 다수의 except
하나의 except에 여러 개의 에러를 처리할 수도 있습니다. NameError, ZeroDivisionError중 하나라도 에러가 발생한다면 print 구문을 실행하게 됩니다. 에러 무시하기
pass문을 활용한다면 에러가 발생할 때 아무런 처리를 하지 않고 넘어가게 할 수도 있습니다. 코드의 목적에 따라 다양하게 활용될 수 있습니다. try & except & else
else 구문을 활용한다면 에러가 발생하지 않았을 경우에 실행될 코드를 작성할 수 있습니다. try & except & else & finally
finally 구문은 에러의 발생여부와 관계없이 항상 코드를 실행하는 부분입니다. 마찬가지로 여러 방면에서 활용될 수 있습니다. raise - 에러 발생시키기
raise 구문은 에러를 강제로 발생시키게 할 수 있습니다. 위의 코드는 정상적으로 동작하는 코드이지만 raise 구문에 의해 except 내의 코드가 실행되게 됩니다. 지금까지 Python에서의 예외처리를 알아보았습니다. 저도 try, except 구문은 익숙하게 사용하고 있었지만 else, finally와 같은 구문은 잘 사용하지 않았던 것 같습니다. 알아둔다면 적절한 상황에서 코드를 깔끔하게 작성할 수 있을 것 같아 정리를 해보았습니다. |