프로그램 실행 전, 문법에 맞지 않아서 오류가 나는 것.
EOL (Error Of Line)
프로그램 실행 후 나온 에러
속도가 빠르나 모두 예측하여 조건문 처리 해야함
속도는 느리나 예외발생사항을 모두 예측 못해도 처리 가능
num = input("문자열을 입력하세요: ")
# 문자열에서 공백 제거
num = num.replace(" ", "")
# 정수인지 확인
if num.isdigit():
print("입력한 문자열은 정수입니다.")
else:
print("입력한 문자열은 정수가 아닙니다.")
num = input("문자열을 입력하세요: ")
# 문자열에서 공백 제거
num = num.replace(" ", "")
# 정수인지 확인
if num.isdigit():
print(f'입력한 숫자는 {num}입니다.')
elif num.lstrip():
print(f'입력한 숫자는 {num}입니다.')
else:
print("정수가 아닙니다.")
lstrip 예시 (1,2,3출력하는 코드)
ex = ['-1', '-2', '-3'] for i in range(len(ex)): print(ex[i].lstrip("-"))
try:
num = float(input('숫자를 입력하세요 : '))
print(f'입력한 숫자는 {num}입니다.')
except:
print('숫자가 아닙니다.')
try:
num = float(input('숫자를 입력하세요 : '))
print(f'입력한 숫자는 {num}입니다.')
except:
pass
print('끝!')
#입력값을 예외걱정 없이 float함수를 씌움
try:
num = float(input('숫자를 입력하세요 : '))
#try에서 예외발생시 실행코드
except:
print('숫자가 아닙니다.')
#try에서 예외 미발생시 실행코드
else:
print(f'입력한 숫자는 {num}입니다.')
#입력값을 예외걱정 없이 float함수를 씌움
try:
num = float(input('숫자를 입력하세요 : '))
#try에서 예외발생시 실행코드
except:
print('숫자가 아닙니다.')
#try에서 예외 미발생시 실행코드
else:
print(f'입력한 숫자는 {num}입니다.')
#finally 구문 추가
finally:
print('*' * 25)
print('프로그램이 일단 끝났습니다.')
raise Exception('에러를 일부러 발생시킴')
Exception: 에러를 일부러 발생시킴
1) SyntaxError: 잘못된 문법
2) NameError: 참조변수 없음
3) IndexError: 인덱스 범위 벗어남
4) ValueError: 참조 값이 없음
5) KeyError: 키 없음 에러
6) AttriobeteError: 모듈, 클래스의 잘못된 속성을 사용함
7) FileNotFoundError: 파일 못 찾음
8) TypeError: 타입 안 맞음
9) ZeroDivisionError: 0으로 나눌 수 없음
[1] try구문은 단독으로 사용 불가, except/finally 구문과 함께 사용하기
[2] else 구문은 항상 except 뒤에 사용해야 함
(1) try + except
(2) try + except + else
(3) try + except + finally
(4) try + except + else + finally
(5) try + finally