Item 74. Exception Documentation

๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋ผ

๊ฒ€์‚ฌ ์˜ˆ์™ธ๋Š” ํ•ญ์ƒ ๋”ฐ๋กœ ์„ ์–ธํ•˜๋ฉด์„œ, ๊ฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์„ ์ž๋ฐ”๋…์˜ @throws ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์ •ํ™•ํžˆ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•œ๋‹ค.(๊ณตํ†ต ์ƒ์œ„ ํด๋ž˜์Šค ํ•˜๋‚˜๋กœ ์„ ์–ธํ•˜์ง€ ๋ง๊ณ , ๊ฐ๊ฐ์˜ ์˜ˆ์™ธ๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.) ์˜ˆ์™ธ ๋ฌธ์„œํ™”์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. main ๋ฉ”์„œ๋“œ(main ๋ฉ”์„œ๋“œ๋Š” JVM๋งŒ์ด ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ)๋ฅผ ์ œ์™ธํ•˜๊ณ ์„œ๋Š” Exception์ด๋‚˜ Throwable ๊ฐ™์€ ๊ณตํ†ต ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ๋˜์ง€๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค.

  2. ์ž๋ฐ” ์–ธ์–ด ์ž์ฒด๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋น„๊ฒ€์‚ฌ ์˜ˆ์™ธ๋„ ๊ฒ€์‚ฌ ์˜ˆ์™ธ์ฒ˜๋Ÿผ ๋ฌธ์„œํ™”ํ•˜์—ฌ, ๋ฉ”์„œ๋“œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฒŒ ์ข‹๋‹ค.

    • public ๋ฉ”์„œ๋“œ๋ผ๋ฉด ๋น„๊ฒ€์‚ฌ ์˜ˆ์™ธ๋„ ๋ฌธ์„œํ™”ํ•˜์—ฌ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

    • ๋‚˜์•„๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์„œ๋“œ์— ์„ ์–ธํ•˜์—ฌ ์ผ๋ฐ˜ ๊ทœ์•ฝ์— ์†ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ชจ๋“  ๊ตฌํ˜„์ฒด๊ฐ€ ์ผ๊ด€๋˜๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  3. ๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์งˆ ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ๋ฅผ ๊ฐ๊ฐ @throws ํƒœ๊ทธ๋กœ ๋ฌธ์„œํ™”ํ•˜์ง€๋งŒ, ๋น„๊ฒ€์‚ฌ ์˜ˆ์™ธ๋Š” throws ๋ชฉ๋ก์— ๋„ฃ์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.

    • ๊ฒ€์‚ฌ/๋น„๊ฒ€์‚ฌ์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ผ์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๋‘˜์„ ํ™•์‹คํžˆ ๊ตฌ๋ถ„ํ•ด์ฃผ์–ด์•ผ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋А ๊ฒƒ์ด ๋น„๊ฒ€์‚ฌ ์˜ˆ์™ธ์ธ์ง€ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

  4. ํ•œ ํด๋ž˜์Šค์— ์ •์˜๋œ ๋งŽ์€ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ™์€ ์ด์œ ๋กœ ๊ฐ™์€ ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค๋ฉด, ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹Œ ํด๋ž˜์Šค ์„ค๋ช…์— ํ•ด๋‹น ์˜ˆ์™ธ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Last updated

Was this helpful?