###단축키

SyntaxError   뭔가 파이썬이 해석못하게 되있다는뜻
IdexError   범위가 넘어간 경우
if 제어 :    
    isdigit()   숫자일 경우 True
try 제어 :   되나안되나 검사
except : 예외처리 안되면 실행
else : 예외발생하지 않았을떄 잘되면 실행
finally : 예외발생과 상관없이 실행 언제나 끝나고 실행
except Exception as ex: 거의 마즈막에씀 예외객체 오류 에 대한 정보를 알려줌
except ValueError as ve: 숫자에러있을때 값이 숫자아니면 에러
except ZeroDivisionError as ze: 분모에러있을때 분모가 0일때 에러 
raise 에러코드   강제 에러 만들기

### isdigit()

width=input()
height =input()
area = 0

if width.isdigit() and height. isdigit():
	area = int(width) * int(height)
    print("{0} x {1} = {2}".format(width, height, area))
else:
	print("숫자가 아닌 값이 입력 되었습니다.")
    

 

 

### try

width=input()
height =input()
area = 0

try :
	area = int(width) * int(height)
    print("{0} x {1} = {2}".format(width, height, area))
except:
	print("숫자가 아닌 값이 입력 되었습니다.")
    

### else

width=input()
height =input()
area = 0

try :
	area = int(width) * int(height)
except:
	print("숫자가 아닌 값이 입력 되었습니다.")
else:	
    print("{0} x {1} = {2}".format(width, height, area))

### finally

width=input()
height =input()
area = 0

try :
	area = int(width) * int(height)
except:
	print("숫자가 아닌 값이 입력 되었습니다.")
else:	
    print("{0} x {1} = {2}".format(width, height, area))
finally:
	print("finally 코드 블록은 예외 발생 여부에 상관 없이 실행됩니다.")
    

### except Exception as ex

width=input()
height =input()
area = 0

try :
	area = int(width) * int(height)
except Exception as ex:
	print("{0}: {1}".format(type(ex), ex)))
else:	
    print("{0} x {1} = {2}".format(width, height, area))
finally:
	print("finally 코드 블록은 예외 발생 여부에 상관 없이 실행됩니다.")
    

###raise

def calc_area(w, h):
	if w.isdigit() and h.isdigit():
    	resturn int(w) * int(h)
    else:
    	raise ValueError("숫자가아닌값이 입력되었습니다.")
        
print("사각형의 면적을 구해봅시다.")

width = input("폭을 입력하세요: 0")
height = input("높이를 입력하세요: ")

try:
	area = clac_area(width, height)
expect ValueError as ve:
	print("{0}: {1}".format(type(ve), ve))
expect Exception as ex:
	print("{0}: {1}".format(type(ex), ex))
else:
	print("{0} x {1} = {2}".format(width, height, area))
  

###연습

def input_index():
	num =0
    try:
    	num = int(input("인덱스로 사용할 숫자를 입력하세요: "))
    except ValueError as exception
    	raise exception
    else:
    	return num
        
def print_in_bounds(list, index):
	value - 0
    try:
    	value = list[index]
    except:
    	print("{0} {1}".format(type(exception),exception)
        index = len(list) -1
        print("인덱스는 0 ~ {0}까지 사용할 수 있습니다."format(index))
        value = list[index]
    finally:
    	print("[{0}]: {1}".format(data_list))
        
data_list = list(range(1, 11))
print("data_list: {0}".format(data_list))
try:
	num = input_index()
    print("[{0}]: {1}".format(num1, data_list[num1]))
except IndexError as exception:
	print(exception)
except ValueError as exeption:
	print("{0} {1}".format(type(exception),exception))
except Exception as exception:
	print(exception)
    

'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글

리스트 조작법  (0) 2020.01.24
Python 표준 모듈과 활용  (0) 2020.01.14
가변함수에 대하여  (0) 2020.01.11
실행 관련 함수  (0) 2020.01.11
Python 변환함수  (0) 2020.01.11
블로그 이미지

Or71nH

,