Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Leading engineer

8강 Exception Handling이란? 본문

Dev/사전학습

8강 Exception Handling이란?

Daisy_EngineerJH 2023. 1. 14. 18:39

'런타임 오류' : 프로그램의 논리적 결함에 의해 발생하는 것을 '논리오류'라고 한다.

프로그래머가 코드로 제어할 수 없는 돌발상황이 발생할 수 있다.

 

이런 돌발상황에 대처하기 위해 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
Comments