TIL try, except 문

박준영·2021년 5월 21일

오류 처리를 위한 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을 리턴하게 해주었습니다.

0개의 댓글