๊ด€๋ฆฌ ๋ฉ”๋‰ด

โœ๐Ÿป๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ

[JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ณธ๋ฌธ

Language/Java

[JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

์ฉ์‹œํ‚ด 2020. 11. 22. 22:52
728x90

์˜ค๋ฅ˜์˜ ์ข…๋ฅ˜

  • ์ปดํŒŒ์ผ ์˜ค๋ฅ˜

    ์ฝ”๋“œ ์ž‘์„ฑ ์ค‘ ๋ฌธ๋ฒ•์ ์ธ ์˜ค๋ฅ˜

  • ์‹คํ–‰ ์˜ค๋ฅ˜

    (runtime error)

์ž๋ฐ”๋Š” ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ๋กœ๊ทธ๋กœ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

์˜ค๋ฅ˜์™€ ์˜ˆ์™ธํด๋ž˜์Šค

  • ์˜ค๋ฅ˜

    ์‹œ์Šคํ…œ์ ์ธ ๋ถ€๋ถ„, ๋ฐ˜๋ณต์ ์ธ ์žฌ๊ท€ ํ˜ธ์ถœ๋กœ ์ธํ•œ stack over flow ๋“ฑ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๋ฐœ์ƒ ๋™์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ

  • ์˜ˆ์™ธ

       ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ œ๊ฑฐ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜, ์ฝ์œผ๋ ค๋Š” ํŒŒ์ผ์ด ์—†์Œ , ๋„คํŠธ์›Œํฌ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜ ๋“ฑ

       → ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ

 

์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

  • try-catch
try{
	์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š ์ฝ”๋“œ
}catch(์ฒ˜๋ฆฌํ•  ์˜ˆ์™ธ ํƒ€์ž… e){
	try์—์„œ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์—ฌ๊ธฐ์„œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌ
    try์˜ ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰๋œ๋‹ค์Œ catch๋กœ ์˜ค๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ›„ ๋ฐ”๋กœ ์˜ค๊ฒŒ๋จ
    ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์˜ˆ์™ธ ํƒ€์ž…๊ณผ ๋งค์นญ์ด ๋˜์–ด์•ผํ•จ
}finally{
	์˜ˆ์™ธ ๋ฐœ์ƒ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ์ˆ˜ํ–‰๋˜์–ด์•ผํ•˜๋Š” ๋ถ€๋ถ„
	์‚ฌ์šฉํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ซ๋Š” ๋ถ€๋ถ„
}
728x90
๋ฐ˜์‘ํ˜•