[혼공파] # 6. 예외 처리

문연수·2023년 1월 18일
0

혼공파

목록 보기
6/8

1. 구문 오류와 예외

- 1. 구문 오류와 예외의 차이를 설명하라

구문 오류(Syntax Error)는 프로그래밍 언어 상의 문법적 오류로 컴파일 타임(인터프리팅 언어에서는 인터프리팅 타임?) 에 그 오류를 검사할 수 있는 반면, 예외(Exception)는 런타임에 발생(파이썬은 항상 런타임 아닌가?) 하며 메모리, 동시성과 같은 문제로 발생하게 된다.

- 2. 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("--- 정상적으로 종료되었습니다. ---")

- 3. 구문 오류와 예외

구문예상되는 에러명실제 에러 명비고
output = 10 + "개"invalid operationTypeError: unsupported operand type(s)구문 오류
int("안녕하세요")failed to convertValueError: invalid literal for int() with base 10예외
cursor.close)syntax errorSyntaxError: unmatched ')'문법 오류
[1, 2, 3, 4, 5][10]index out of rangeIndexError: list index out of range예외

2. 예외 고급

- 1. 예외를 강제로 발생 시키는 키워드는?

답: raise

- 2. Tensorflow 에서 raise 를 사용하는 예시 찾기

* tensorflow/core/function/polymorphism/function_type.py

commit: e1c9897e57f7fbdfa59c46230c61c29d8dae59ff

* tensorflow/python/eager/context.py

commit: 4addb9ac00865ea6b2cb625dcca43ca26d3cd1c0

* tensorflow/lite/python/interpreter.py

commit: 55d84d7bba942fb4adb552881897c6bbd6e91eef


출처: https://github.com/tensorflow/tensorflow/commit/fa044a4ecf6bb5103983f0844e00c8b9e000706c
날짜: Jan 18, 2023, 마지막 커밋 (fa044a4ecf6bb5103983f0844e00c8b9e000706c) 기준

profile
2000.11.30

0개의 댓글