오류 처리를 위한 try, except문에 대해서 알아보겠습니다.
구조는
모든 오류에 관한 예외처리 방법(어떤오류가 발생하는지 알 수 없기때문에 많이 사용하지 않습니다.)
try:
...
except:
...
try:
...
except 발생오류:
...
try:
...
except 발생 오류 as 오류 메시지 변수:
...
try 블록을 수행하는중 오류가 발생하면 except가 진행됩니다. 하지만 오류가 발생하지 않으면 except는 실행되지 않습니다.
문제풀이활용
문자와 문자열이 주어졌을때, "get_find" 함수는 주어진 문자열에서 함께 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
output = get_find('a', 'I am a hacker')
print(output) # --> 2
위의 문제를 try, except를 이용해서 문제를 해결했습니다.
def get_find(char, str):
# 아래 코드를 작성해주세요.
try:
return str.index(char)
except ValueError:
return -1
풀이
위의 조건중에 find는 사용하지 말라는 조건이 있어서 index를 이용하게 되었습니다.
먼저 try: return str.index(char)을 보면 str 내 char이 몇번째인지 찾는 index문을 이용하였고, 만약 str내에 char이 없으면 value에러가 발생하기 때문에 except ValueError: return -1 을 주면서 valueerror가 발생하면 -1을 리턴하게 해주었습니다.