Java ์—๋Ÿฌ ์ฒ˜๋ฆฌ

1 minute read

๐Ÿ’ก์ž๋ฐ” ์—๋Ÿฌ ์ฒ˜๋ฆฌ

๋ณธ ๋‚ด์šฉ์€ ์ž๋ฐ”์˜ ์ •์„์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ

โ— ๊ฐœ์ธ์ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ ์€ ๊ฒƒ ์ด๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์„ ์ˆ˜๋„ ์žˆ์Œ

2022-02-01

ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜

  • ์ปดํŒŒ์ผ ์—๋Ÿฌ (Complie error) : ์ปดํŒŒ์ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ โ†’ ์ฝ”๋“œ์ณค๋Š”๋ฐ ๋ฐœ์ƒ ํ•˜๋Š” ์—๋Ÿฌ(์ดํด๋ฆฝ์Šค๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ์ฒดํฌํ•ด์คŒ)
  • ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ (Rutime error) : ์‹คํ–‰ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ โ†’ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ, ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ
  • ๋…ผ๋ฆฌ์  ์—๋Ÿฌ (logical error) : ์ž‘์„ฑ ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ โ†’ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ x

JAVA์˜ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ

  • ์—๋Ÿฌ(Error) : ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ์˜ํ•ด์„œ ์ˆ˜์Šต๋  ์ˆ˜ ์—†๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜
  • ์˜ˆ์™ธ(Exception) : ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ์˜ํ•ด์„œ ์ˆ˜์Šต๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์†Œ ๋ฏธ์•ฝํ•œ ์˜ค๋ฅ˜
๐Ÿ‘ˆ์˜ˆ์™ธ(Exception) ์ถ”๊ฐ€ ์„ค๋ช…
  1. ์˜ˆ์™ธ๋Š” Exception๊ณผ ๊ทธ ์ž์†๋“ค , RuntimeException๊ณผ ๊ทธ ์ž์†๋“ค๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค.
  2. Exception๊ณผ ๊ทธ์ž์†๋“ค์€ checked ์˜ˆ์™ธ๋‹ค (์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•„์ˆ˜)
  3. RuntimeException๊ณผ ๊ทธ ์ž์†๋“ค์€ unchecked ์˜ˆ์™ธ (์—๋Ÿฌ ์ฒ˜๋ฆฌ ์„ ํƒ)

์˜ˆ์™ธ ์ฒ˜๋ฆฌ try~catch

printStackTrace์™€ getMessage

  • printStackTrace() : ์˜ˆ์™ธ๋ฐœ์ƒ ๋‹น์‹œ์˜ ํ˜ธ์ถœ์Šคํƒ(Call Stack)์— ์žˆ์—ˆ๋˜ ๋ฉ”์„œ๋“œ์˜ ์ •๋ณด์™€ ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅ
  • getMessage() : ๋ฐœ์ƒํ•œ ์˜ˆ์™ธํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์— ์ €์žฅ๋œ ๋ฉ”์„ธ์ง€๋ฅผ ์–ป์Œ

์˜ˆ์™ธ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ

  • ์—ฐ์‚ฐ์ž new๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐœ์ƒ์‹œํ‚ค๋ ค๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ Exception e = new Exception(โ€๊ณ ์˜๋กœ ๋ฐœ์ƒ์‹œํ‚ดโ€);
  • ํ‚ค์›Œ๋“œ throw๋ฅผ ์ด์šฉํ•ด์„œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. throw e;

Finally

  • ์˜ˆ์™ธ ๋ฐœ์ƒ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š”๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ

  • ์ง์ ‘ ์˜ˆ์™ธ ํด๋ž˜์Šค ์ •์˜ ๊ฐ€๋Šฅ
  • ์กฐ์ƒ์€ Exception๊ณผ RuntimeException ์ค‘์—์„œ ์„ ํƒ

์˜ˆ์™ธ ๋˜๋˜์ง€๊ธฐ (Exception re-throwing)

  • ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„์— ๋‹ค์‹œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ
  • ํ˜ธ์ถœํ•œ ๋ฉ”์„œ๋“œ์™€ ํ˜ธ์ถœ๋œ ๋ฉ”์„œ๋“œ ์–‘์ชฝ ๋ชจ๋‘์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ

๐Ÿ“‘ ์ถœ์ฒ˜

Categories:

Updated:

Leave a comment