nyximos.log

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

Programming/JAVA

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

nyximos 2022. 9. 1. 16:43

๐Ÿ‘ฉ‍๐Ÿš€ ๋ชฉํ‘œ

์ž๋ฐ”์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”.

๐Ÿ‘ฉ‍๐Ÿ’ป ํ•™์Šตํ•  ๊ฒƒ

  • ์ž๋ฐ”์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• (try, catch, throw, throws, finally)
  • ์ž๋ฐ”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜ˆ์™ธ ๊ณ„์ธต ๊ตฌ์กฐ
  • Exception๊ณผ Error์˜ ์ฐจ์ด๋Š”?
  • RuntimeException๊ณผ RE๊ฐ€ ์•„๋‹Œ ๊ฒƒ์˜ ์ฐจ์ด๋Š”?
  • ์ปค์Šคํ…€ํ•œ ์˜ˆ์™ธ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

 

 

 

๐Ÿฆน‍โ™€๏ธ ์ž๋ฐ”์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• (try, catch, throw, throws, finally)

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

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ์˜ ๋ฐœ์ƒ์— ๋Œ€๋น„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ

ํ”„๋กœ๊ทธ๋žจ์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ๋ง‰๊ณ  ์ •์ƒ์ ์ธ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋ฉฐ

์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ ์˜ˆ์™ธ uncaught exception๋Š” JVM์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ๋ฐ›์•„์„œ ์˜ˆ์™ธ์˜ ์›์ธ์„ ํ™”๋ฉด์— ์ถœ๋ ฅํ•œ๋‹ค.

 

try - catch - finally

try๋ธ”๋ก์—์„œ ๋ฐœ์ƒ๋œ ์˜ˆ์™ธ๋ฅผ catch ๋ธ”๋ก์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

ํ•˜๋‚˜์˜ try ๋ธ”๋Ÿญ ๋‹ค์Œ์— ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋‚˜ ์ด์ƒ์˜ catch๋ธ”๋Ÿญ์ด ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ,

์ด ์ค‘ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ์˜ ์ข…๋ฅ˜์™€ ์ผ์น˜ํ•˜๋Š” ๋‹จ ํ•œ ๊ฐœ์˜ catch๋ธ”๋Ÿญ๋งŒ ์ˆ˜ํ–‰๋œ๋‹ค.

๋ฐœ์ƒํ•œ ์˜ˆ์™ธ์˜ ์ข…๋ฅ˜์™€ ์ผ์น˜ํ•˜๋Š” catch๋ธ”๋Ÿญ์ด ์—†์œผ๋ฉด ์˜ˆ์™ธ๋Š” ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

catch๋ธ”๋Ÿญ์€ ๊ด„ํ˜ธ( )์™€ ๋ธ”๋Ÿญ{ } ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ ์ ธ ์žˆ๋Š”๋ฐ,

๊ด„ํ˜ธ ๋‚ด์— ์ฒ˜๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์˜ˆ์™ธ์™€ ๊ฐ™์€ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜ ํ•˜๋‚˜๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ์— ํ•ด๋‹นํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.

์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋ฌธ์žฅ์ด try ๋ธ”๋Ÿญ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ด ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” catch ๋ธ”๋Ÿญ์ด ์žˆ๋Š”์ง€ ์ฐพ๊ฒŒ ๋œ๋‹ค.

 

์ฒซ๋ฒˆ์งธ catch ๋ธ”๋Ÿญ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ catch ๋ธ”๋Ÿญ์˜ ๊ด„ํ˜ธ ๋‚ด์— ์„ ์–ธ๋œ ์ฐธ์กฐ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜์™€ ์ƒ์„ฑ๋œ ์˜ˆ์™ธํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์— instanceof ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,

๊ฒฐ๊ณผ๊ฐ€ true์ธ catch๋ธ”๋Ÿญ์„ ์ฐพ๊ฒŒ ๋˜๋ฉด ๋ธ”๋Ÿญ์— ์žˆ๋Š” ๋ฌธ์žฅ๋“ค์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•œ ํ›„์— try-catch๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ณ  ์˜ˆ์™ธ๋Š” ์ฒ˜๋ฆฌ ๋˜์ง€๋งŒ

๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๊ฐ€ true์ธ catch ๋ธ”๋Ÿญ์ด ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด ์˜ˆ์™ธ๋Š” ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

๋ชจ๋“  ์˜ˆ์™ธ ํด๋ž˜์Šค๋Š” Exception ํด๋ž˜์Šค์˜ ์ž์†์ด๋ฏ€๋กœ,

catch๋ธ”๋Ÿญ์˜ ๊ด„ํ˜ธ์— Exception ํด๋ž˜์Šค ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด ๋†“์œผ๋ฉด ์–ด๋–ค ์ข…๋ฅ˜์˜ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ด catch ๋ธ”๋Ÿญ์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

finally ๋ธ”๋ก์€ try - catch ๋ธ”๋ก์ด ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ˜๋“œ์‹œ ์‹คํ–‰๋œ๋‹ค. ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ž์› ๋ˆ„์ถœ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

try {
	// ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ
} catch (์˜ˆ์™ธ์ข…๋ฅ˜ ์ฐธ์กฐ๋ณ€์ˆ˜) {
	// ์˜ˆ์™ธ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ
} finally {
	// try ๋ธ”๋ก์ด ๋๋‚˜๋ฉด ๋ฌด์กฐ๊ฑด ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}

 

๋ฉ€ํ‹ฐ catch ๋ธ”๋Ÿญ

JDK 1.7๋ถ€ํ„ฐ ์—ฌ๋Ÿฌ catch ๋ธ”๋Ÿญ์„ '|' ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ํ•˜๋‚˜์˜ catch๋ธ”๋Ÿญ์œผ๋กœ ํ•ฉ์น  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ฉ€ํ‹ฐ catch ๋ธ”๋Ÿญ์„ ์ด์šฉํ•˜๋ฉด ์ค‘๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 

๋ฉ€ํ‹ฐ catch ๋ธ”๋Ÿญ์˜ '|' ๊ธฐํ˜ธ๋กœ ์—ฐ๊ฒฐ๋œ ์˜ˆ์™ธ ํด๋ž˜์Šค๊ฐ€ ์กฐ์ƒ๊ณผ ์ž์†์˜ ๊ด€๊ณ„์— ์žˆ๋‹ค๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

(๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋Š” ์ œ๊ฑฐํ•˜๋ผ๋Š” ์˜๋ฏธ)

 

์ฐธ์กฐ๋ณ€์ˆ˜ e๋กœ ๋ฉ€ํ‹ฐ catch๋ธ”๋Ÿญ์— '|' ๊ธฐํ˜ธ๋กœ ์—ฐ๊ฒฐ๋œ ์˜ˆ์™ธ ํด๋ž˜์Šค๋“ค์˜ ๊ณตํ†ต ๋ถ„๋ชจ์ธ ์กฐ์ƒ ์˜ˆ์™ธ ํด๋ž˜์Šค์— ์„ ์–ธ๋œ ๋ฉค๋ฒ„๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

throw

ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ณ ์˜๋กœ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

1. ์—ฐ์‚ฐ์ž new๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐœ์ƒ์‹œํ‚ค๋ ค๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.

    Exception ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ƒ์„ฑ์ž์— String์„ ๋„ฃ์–ด ์ฃผ๋ฉด,

    ์ด String์ด Exception ์ธ์Šคํ„ด์Šค์— ๋ฉ”์‹œ์ง€๋กœ ์ €์žฅ๋œ๋‹ค. getMessage()๋ฅผ ์ด์šฉํ•ด์„œ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

2. ํ‚ค์›Œ๋“œ throw๋ฅผ ์ด์šฉํ•ด์„œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

Exception e = new Exception("์˜ˆ์™ธ๋ฐœ์ƒ");
throw e;

 

throws

๋ฉ”์„œ๋“œ์— ์˜ˆ์™ธ๋ฅผ ์„ ์–ธํ•  ๋•Œ, throws๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์˜ˆ์™ธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ์—๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

void ๋ฉ”์†Œ๋“œ๋ช…() throws Exception1, Exception2, ... ExceptionN {

}

 

๋ชจ๋“  ์˜ˆ์™ธ์˜ ์ตœ๊ณ  ์กฐ์ƒ์ธ Exception ํด๋ž˜์Šค๋ฅผ ๋ฉ”์„œ๋“œ์— ์„ ์–ธํ•˜๋ฉด

์ด ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

void method() throws Exception {

}

 

์˜ˆ์™ธ๋ฅผ ์„ ์–ธํ•˜๋ฉด ๊ทธ ์ž์†ํƒ€์ž…์˜ ์˜ˆ์™ธ๊นŒ์ง€๋„ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•˜์ž.

 

 

 

๐Ÿ‘ฉ‍๐Ÿš’ ์ž๋ฐ”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜ˆ์™ธ ๊ณ„์ธต ๊ตฌ์กฐ

 

๋ชจ๋“  ํด๋ž˜์Šค์˜ ์กฐ์ƒ์€ Object์ด๋‹ค.

Exception๊ณผ Error ํด๋ž˜์Šค ์—ญ์‹œ Objectํด๋ž˜์Šค์˜ ์ž์†์ด๋‹ค.

[๊ทธ๋ฆผ ์ถ”ํ›„ ์ฒจ๋ถ€]

 

 

 

๐Ÿ•ต๏ธ‍โ™€๏ธ Exception๊ณผ Error์˜ ์ฐจ์ด๋Š”?

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ค‘ ์–ด๋–ค ์›์ธ์— ์˜ํ•ด ์˜ค์ž‘๋™ํ•˜๊ฑฐ๋‚˜ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” ์›์ธ์„ ํ”„๋กœ๊ทธ๋žจ ์—๋Ÿฌ ๋˜๋Š” ์˜ค๋ฅ˜๋ผ๊ณ  ํ•œ๋‹ค.

 

๋ฐœ์ƒ ์‹œ์ ์— ๋”ฐ๋ผ ์ปดํŒŒ์ผ ์—๋Ÿฌ compile-time error, ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ runtime error๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ,

๊ธ€์ž ๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋Š” ์ปดํŒŒ์ผ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๊ณ 

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๋„์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. 

์ด์™ธ์—๋„ ๋…ผ๋ฆฌ์  ์—๋Ÿฌ๊ฐ€ ์žˆ๋Š”๋ฐ ์ปดํŒŒ์ผ๋„ ๋˜๊ณ  ์‹คํ–‰๋„ ๋˜์ง€๋งŒ ์˜๋„ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. 

 

์ปดํŒŒ์ผ ์—๋Ÿฌ : ์ปดํŒŒ์ผ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ

๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ : ์‹คํ–‰ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ, ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ

๋…ผ๋ฆฌ์  ์—๋Ÿฌ : ์‹คํ–‰์€ ๋˜์ง€๋งŒ ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘, ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ x

 

์ž๋ฐ”์—์„œ๋Š” ์‹คํ–‰ ์‹œ (runtime) ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜๋ฅผ Exception๊ณผ Error ๋‘๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

 

๐Ÿ˜ต Exception ์˜ˆ์™ธ

ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ์˜ํ•ด์„œ ์ˆ˜์Šต๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์†Œ ๋ฏธ์•ฝํ•œ ์˜ค๋ฅ˜

 

๐Ÿคฏ Error ์—๋Ÿฌ

ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ์˜ํ•ด์„œ ์ˆ˜์Šต๋  ์ˆ˜ ์—†๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜

OutOfMemoryError, StackOverflowError ๋“ฑ JVM์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ๋“ฑ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๋ฌธ์ œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ

 

 

๐Ÿ‘ฉ‍๐Ÿ”ง RuntimeException๊ณผ RE๊ฐ€ ์•„๋‹Œ ๊ฒƒ์˜ ์ฐจ์ด๋Š”?

RuntimeException

๋Ÿฐํƒ€์ž„ ์‹œ์ ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

์ฃผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์‹ค์ˆ˜๋กœ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ

์น˜๋ช…์ ์ธ ์˜ˆ์™ธ์ƒํ™ฉ์„ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š” ์˜ˆ์™ธ๋“ค๋กœ ๊ตฌ์„ฑ

IndexOutOfBoundsException, NullPointerException, ClassCastException, ArithmeticException ๋“ฑ

 

Exception 

์ปดํŒŒ์ผ ์‹œ์ ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

์‚ฌ์šฉ์ž์˜ ์‹ค์ˆ˜์™€ ๊ฐ™์€ ์™ธ๋ถ€์˜ ์˜ํ–ฅ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ

ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ์ž๋“ค์˜ ๋™์ž‘์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

FileNotFoundException, ClassNotFoundException, DataFormatException, IOException, SQLException ๋“ฑ

 

 

 

๐Ÿ‘ฉ‍๐Ÿณ ์ปค์Šคํ…€ํ•œ ์˜ˆ์™ธ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

๊ธฐ์กด์˜ ์ •์˜๋œ ์˜ˆ์™ธ ํด๋ž˜์Šค ์™ธ์— ํ•„์š”์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ƒˆ๋กœ์šด ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณดํ†ต Exception ํด๋ž˜์Šค ๋˜๋Š” RuntimeException ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ง€๋งŒ,

ํ•„์š”์— ๋”ฐ๋ผ์„œ ์•Œ๋งž์€ ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Exception ํด๋ž˜์Šค๋Š” ์ƒ์„ฑ ์‹œ์— String ๊ฐ’์„ ๋ฐ›์•„์„œ ๋ฉ”์‹œ์ง€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

class MyException extends Exception {
	
    private final int ERR_CODE;

    MyException(String msg, int errCode) { // ์ƒ์„ฑ์ž
    	super(msg);
        ERR_CODE = errCode;
    }
    
    MyException(String msg) { // ์ƒ์„ฑ์ž
        this(msg, 100);
    }
    
    public int getErrCode() {
    	return ERR_CODE;
    }
}

 

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

[Java] Enum  (1) 2022.09.08
[Java] ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (0) 2022.09.06
[Java] ์ธํ„ฐํŽ˜์ด์Šค  (1) 2022.08.29
[Java] ํŒจํ‚ค์ง€  (0) 2022.08.17
[Java] ์ƒ์†  (0) 2022.08.12