์ธํŒŒ

You Can Become A

Progr

๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด๋„ ๋ˆ„๊ตฌ๋“ ์ง€ ๋…ธ๋ ฅํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ ์ˆ˜ ์žˆ์–ด์š” !

์˜ˆ์™ธ ์ฒ˜๋ฆฌ

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค
Java

โ˜• Exception Handling - ์ž๋ฐ” ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” 3๊ฐ€์ง€ ๊ธฐ๋ฒ•

Exception Handling 3๊ฐ€์ง€ ๊ธฐ๋ฒ• ์ž๋ฐ”์˜ ์˜ˆ์™ธ๋ฅผ try - catch ๋ธ”๋Ÿญ์œผ๋กœ ์žก์•˜๋‹ค๊ณ  ํ•ด์„œ ๋์ด ์•„๋‹ˆ๋‹ค. ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์œผ๋ฉด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋ฌธ์ œ์ ์„ ๊ณ ์ณ์•ผ ๋˜๋Š” ๊ฒƒ์€ ๋งž์ง€๋งŒ, ์˜ˆ์ƒํ•  ์ˆ˜ ์—†๋Š” ์˜ˆ์™ธ์ธ ๊ฒฝ์šฐ ํšŒํ”ผ๋ฅผ ํ•˜๊ฑฐ๋‚˜ ๋ณต๊ตฌ ๋™์ž‘์„ ํ•˜๋Š” ๋“ฑ ์˜ˆ์™ธ๋ฅผ ํ•ธ๋“ค๋งํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์ด ํ•„์š”ํ•˜๋‹ค. ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด๋ฅผ ๋‹จ์ˆœํžˆ catch๋ฌธ์œผ๋กœ ์žก์•„ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ๋– ๋‚˜์„œ, ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ์˜ˆ์™ธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์˜ˆ์™ธ ๋ณต๊ตฌ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํšŒํ”ผ, ์˜ˆ์™ธ ์ „ํ™˜ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. 1. ์˜ˆ์™ธ ๋ณต๊ตฌ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ํŒŒ์•…ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์„œ ์ •์ƒ ์ƒํƒœ๋กœ ๋Œ๋ ค๋†“๋Š” ๋ฐฉ๋ฒ• Exception์ด ๋ฐœ์ƒํ•˜์—ฌ๋„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜..

category_image
์ธํŒŒ_
2022.11.25
1
Java

โ˜• ์ž๋ฐ” Try With Resource ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

์ž๋ฐ” Resource์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณดํ†ต resource๋ž€ ์™ธ๋ถ€์˜ ๋ฐ์ดํ„ฐ(DB, Network, File)๋ฅผ ์ผ์ปซ๋Š”๋‹ค. ์ด๋Ÿฐ resource๋“ค์€ ์ž๋ฐ” ๋‚ด๋ถ€์— ์œ„์น˜ํ•œ ์š”์†Œ๋“ค์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค ์™ธ๋ถ€์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ž๋ฐ” ์ฝ”๋“œ์—์„œ ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฌธ์ œ(์˜ˆ์™ธ)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํŠนํžˆ๋‚˜ ์ด๋Ÿฐ ์ž…์ถœ๋ ฅ์— ๊ด€๋ จ๋œ resource๋“ค์— ์ ‘๊ทผํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜๋ฉด ๋‹ซ๋Š” ๊ฒƒ์ด ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ํŒŒ์ผ์— ์ ‘๊ทผํ•ด ํŒŒ์ผ์„ ์—ด๊ณ  ๋‚ด์šฉ์„ ์“ฐ๊ณ  ๋‚œํ›„ ๊ผญ ๋‹ซ์•„ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์–ด๋–ค resource๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋‹ค๋ฅธ๊ณณ์—์„œ ๊ฐ™์€ resource์— ์ ‘๊ทผํ•ด ๋ง‰ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ๊ผฌ์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์™ธ๋ถ€ ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ ‘๊ทผํ•ด์„œ ๋‚ด์šฉ์„ ์“ฐ๊ณ  ๋‹ซ๋Š” ๋กœ์ง์„ ์ž๋ฐ”์—์„œ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๋งŒ์ผ..

category_image
์ธํŒŒ_
2022.11.24
(0)
Java

โ˜• ์ž๋ฐ” ์˜ˆ์™ธ ๋˜์ง€๊ธฐ(throw) & ์˜ˆ์™ธ ์—ฐ๊ฒฐ(Chained Exception)

์˜ˆ์™ธ ๋˜์ง€๊ธฐ ์˜ˆ์™ธ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ (throw) ๋งŒ์ผ ํ”„๋กœ๊ทธ๋žจ์ ์œผ๋กœ ์—๋Ÿฌ๊ฐ€ ์•„๋‹ˆ๋ผ๋„ ๋กœ์ง์ƒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ๋ถ€๋Ÿฌ ์—๋Ÿฌ๋ฅผ ๋‚ด์„œ ๋กœ๊ทธ์— ๊ธฐ๋กํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” throw ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ•์ œ๋กœ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์›๋ž˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์•Œ์•„์„œ ์—๋Ÿฌ๋ฅผ ํƒ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌ ํ•˜์˜€์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๋ถ€๋Ÿฌ ์—๋Ÿฌ๋ฅผ throwํ•˜์—ฌ ์—๋Ÿฌ๋ฅผ catch ํ•œ๋‹ค๋Š” ๊ฐœ๋…์œผ๋กœ ๋ณด๋ฉด ๋œ๋‹ค. ์ด๋•Œ new ์ƒ์„ฑ์ž๋กœ ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ๋˜์ ธ๋Š”๋ฐ, ์ด ํด๋ž˜์Šค ์ƒ์„ฑ์ž์— ์ž…๋ ฅ๊ฐ’์„ ์ฃผ๊ฒŒ๋˜๋ฉด, catch๋ฌธ์˜ getMessage() ๋ฉ”์„œ๋“œ์—์„œ ์ถœ๋ ฅํ•  ๋ฉ”์„ธ์ง€๋ฅผ ์ง€์ •ํ•˜๊ฒŒ ๋œ๋‹ค. import java.util.Scanner; public class Main { public static void main(String[] args) {..

category_image
์ธํŒŒ_
2022.11.24
(0)
Java

โ˜• ์ž๋ฐ” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(try catch) ๋ฌธ๋ฒ• & ์‘์šฉ ์ •๋ฆฌ

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

category_image
์ธํŒŒ_
2022.11.24
1