구문 오류(Syntax Error)
는 프로그래밍 언어 상의 문법적 오류로 컴파일 타임(인터프리팅 언어에서는 인터프리팅 타임?) 에 그 오류를 검사할 수 있는 반면, 예외(Exception)
는 런타임에 발생(파이썬은 항상 런타임 아닌가?) 하며 메모리, 동시성과 같은 문제로 발생하게 된다.
index()
함수의 예외 처리numbers = [52, 273, 32, 103, 90, 10, 275]
print("# (1) 요소 내부에 있는 값 찾기")
print("- {}는 {} 위치에 있습니다.".format(52,numbers.index(52)))
print("# (2) 요소 내부에 없는 값 찾기")
number = 10000
try:
print("- {}는 {} 위치에 있습니다.".format(number, numbers.index(number)))
except:
print("- 리스트 내부에 없는 값입니다.")
print()
print("--- 정상적으로 종료되었습니다. ---")
구문 | 예상되는 에러명 | 실제 에러 명 | 비고 |
---|---|---|---|
output = 10 + "개" | invalid operation | TypeError: unsupported operand type(s) | 구문 오류 |
int("안녕하세요") | failed to convert | ValueError: invalid literal for int() with base 10 | 예외 |
cursor.close) | syntax error | SyntaxError: unmatched ')' | 문법 오류 |
[1, 2, 3, 4, 5][10] | index out of range | IndexError: list index out of range | 예외 |
답:
raise
raise
를 사용하는 예시 찾기commit: e1c9897e57f7fbdfa59c46230c61c29d8dae59ff
commit: 4addb9ac00865ea6b2cb625dcca43ca26d3cd1c0
commit: 55d84d7bba942fb4adb552881897c6bbd6e91eef
출처: https://github.com/tensorflow/tensorflow/commit/fa044a4ecf6bb5103983f0844e00c8b9e000706c
날짜: Jan 18, 2023, 마지막 커밋 (fa044a4ecf6bb5103983f0844e00c8b9e000706c) 기준