Leading engineer
8강 Exception Handling이란? 본문
'런타임 오류' : 프로그램의 논리적 결함에 의해 발생하는 것을 '논리오류'라고 한다.
프로그래머가 코드로 제어할 수 없는 돌발상황이 발생할 수 있다.
이런 돌발상황에 대처하기 위해 Exception Handling을 마련하였다.
보통 'try' 'catch'란 명령어로 되어 있다,
파이썬의 Try-excipt, 루비의 begin-rescue 처럼 말이나 기능이 조금씩 다른 경우도 있다.
오류가 발생할 수 있는 곳을 예측해서 try로 감싸놓은 부분은 뭐가 잘못되더라도 프로그램이 꺼져버리는 게 아니라 예외를 적당히 제껴놓은 다음 다음 과정으로 넘어갈 수 있도록 한다.
try 블럭에서 예외상황, 즉 Exception이 발생하면
catch 문에서 해당 오류에 대한 동작을 실행하고, 오류가 나든 안나든 finally 블럭을 마지막으로 실행한다.
어떤 오류가 나느냐에 따라 구분할 수도 있다.
Exception 클래스에서 파생되서 다양화된 이 예외상황들마다 다른 조치를 취하도록 할 수 있다.
finally구문을 사용하는 이유
: try 명령이 성공하거나 실패했을 경우, 둘 중 하나에 바로 return해버리는 경우가 있는데, 그럴 떄는 해당 함수가 거기서 종료된다.
이처럼 함수 자체를 종료해버리는 코드가 try나 catch 둘 중 한 곳에 나오더라도 이 finally는 꼭 실행하고 가도록 한다.
데이터베이스에서 특정 정보를 꺼내오기 위해 거기에 접속한 다음 결과에 상관없이 접속을 종료해야 하는 서비스 등에서 finally가 많이 사용된다.
정리:
1. 오류의 종류
문법 오류: 컴파일 과정에서 발견됨
논리 오류: 프로그래머의 실수에 의한 논리적 결함
예측불가한 요소에 의한 오류: 예외처리가 필요한 이유
2. 일반적인 예외처리 구문
try : 예외상황에 의한 오류가 발생할 수 있는 구문을 실행
catch : 예외상황 발생시 실행할 내용
finally : try나 catch에서 return이 발생 시 그 전에 실행
'Dev > 사전학습' 카테고리의 다른 글
10강 Git - 혼자작업편 (0) | 2023.02.20 |
---|---|
9강 Git과 Github (0) | 2023.02.19 |
7강 Static Web, Dynamic Web이란? (0) | 2023.01.14 |
6강 클라우드 컴퓨팅이란? (1) | 2023.01.14 |
5강 Cookie Session Cache 란 무엇인가? (0) | 2023.01.14 |