๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Language/Java

Checked Exception vs Unchecked Exception

by Soono991 2023. 3. 19.

๐Ÿ’ก์ด ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„  ๋‹˜์˜ ์œ ํŠœ๋ธŒ ์˜์ƒ์ธ ์ž๋ฐ” ๊ณต๋ถ€๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๊ธธ๋ž˜, "์–ธ์ฒดํฌ๋“œ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ํŠธ๋žœ์žญ์…˜ ๋กค๋ฐฑ?"์„ ์‹œ์ฒญํ•˜๊ณ  ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.

 

 

Checked Exception๊ณผ Unchecked Exception์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰ํ•˜๊ฒŒ ๋˜๋ฉด ์œ„์™€ ๊ฐ™์€ ํ‘œ ์ด๋ฏธ์ง€๋ฅผ ์ž์ฃผ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ธ๋œป ๋ณด๋ฉด ๊ทธ๋ ‡๊ตฌ๋‚˜ ํ•˜๊ณ  ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•œ ๊ฐ€์ง€ ๋‹ค์‹œ ํ™•์ธํ•ด๋ด์•ผ ํ•  ๋ถ€๋ถ„์€ ์˜ˆ์™ธ๋ฐœ์ƒ ์‹œ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

 

Exception์— ๋Œ€ํ•ด ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค? ๋งž๋Š” ๋ง์ด์ง€์š”.

ํ•˜์ง€๋งŒ Java์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ Exception ์ฒ˜๋ฆฌ์— ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋Šฅ์ด ์žˆ์—ˆ๋‚˜? ์ƒ๊ฐํ•ด ๋ณด๋ฉด ์•„๋‹™๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ๋งž๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ์ด์œ ๋Š” Spring์—์„œ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ž‘ ํ˜ผ๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ์š”,

์ •๋ฆฌํ•˜์ž๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ €๊ธฐ์— ์ ํ˜€์žˆ๋Š” ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์—ฌ๋ถ€๋Š” Spring์—์„œ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

Spring์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Checked Exception์˜ ๊ฒฝ์šฐ๋Š” roll back ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์ง€๋งŒ Unchecked Exception์˜ ๊ฒฝ์šฐ์—๋Š” roll back ์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ๋งˆ์ €๋„ ๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ผ๋งˆ๋“ ์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐฑ๊ธฐ์„  ๋‹˜์ด ์ด์™€ ๊ด€๋ จํ•ด์„œ ์˜์ƒ์„ ์ฐ์œผ์‹  ๊ฑด ๋ฌผ๋ก  ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ๋ฐ”๋กœ์žก๋Š” ๊ฒƒ๋„ ์žˆ๊ฒ ์ง€๋งŒ, ๋ธ”๋กœ๊ทธ๋‚˜ ์˜์ƒ์„ ํ†ตํ•ด์„œ ๊ฐ์ž ๊ฐœ๊ฐœ์ธ๋“ค์ด ์ง€์‹์„ ์ „ํŒŒํ•  ๋•Œ ์ด์ฒ˜๋Ÿผ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ํผ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์‹์„ ์Šต๋“ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐ˜๋“œ์‹œ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ์˜์ƒ์˜ ํ•ต์‹ฌ ์ฃผ์ œ๊ฐ€ ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์˜์ƒ์—๋„ ์–ธ๊ธ‰ํ•˜์…จ์ง€๋งŒ ์—ฌ๊ธฐ์— ์ €์˜ ์ƒ๊ฐ์„ ๋ง๋ถ™์ด์ž๋ฉด ๋ฌผ๋ก  ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ • ์—†์ด ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๋˜ ๋ฐ˜๋Œ€๋กœ ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ์ „ํŒŒํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‚˜์ค‘์—๋ผ๋„ ํ•ด๋‹น ์ •๋ณด๊ฐ€ ํ‹€๋ ธ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ์ขŒ์ ˆํ•œ๋‹ค๊ธฐ๋ณด๋‹ค๋Š” ๊ทธ๋Ÿด์ˆ˜๋ก ๊ทธ๊ฒƒ์„ ๋น ๋ฅด๊ฒŒ ์ธ์ •ํ•˜๊ณ  ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์Šต๋“, ์ „ํŒŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋” ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฐœ๋ฐœ์ž๋กœ ๊ฐ€๋Š” ์ •๋„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐฑ๊ธฐ์„  ๋‹˜์˜ ์˜์ƒ ๋Œ“๊ธ€์—๋„ ๋งŽ์€ ๋ถ„๋“ค์ด ํ•ต์‹ฌ ์ฃผ์ œ๋ฅผ ํŒŒ์•…ํ•˜์‹œ๊ณ  ์˜๊ฒฌ์„ ๋‚˜๋ˆ ์ฃผ์‹œ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์ €๋„ ์•ž์œผ๋กœ ์ง€์‹์„ ์Šต๋“ํ•˜๊ฑฐ๋‚˜ ์ „ํŒŒํ•  ๋•Œ ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋” ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

 

์ •๋ฆฌ

  1. ๋ชจ๋“  ๋ ˆํผ๋Ÿฐ์Šค๋Š” ์Šค์Šค๋กœ ๊ฒ€์ฆ ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•ด๋‹น ๋‚ด์šฉ์ด ์˜์‹ฌ์Šค๋Ÿฝ๋‹ค๋ฉด ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ํŠน์ • ์ง€์‹์ด๋‚˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•  ๋•Œ๋Š” ๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

'Language > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

window sdkman ์„ค์น˜  (0) 2023.01.31

๋Œ“๊ธ€