Sims๋์ ๊ธ์ ์ฐธ๊ณ ํ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค ๋ณด๋ฉด ๋ค์ํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค.
๊ฐ์ฅ ๋ํ์ ์ธ ์๋ก๋ file์ ์ฝ์ผ๋ ค๊ณ ํ๋๋ฐ ํด๋น file์ด ์๋ ๊ฒฝ์ฐ, 0์ผ๋ก ๋๋๋ ๊ฒฝ์ฐ ๋ฑ๋ฑ.. ์ฝ๊ฒ ์ ํ ์ ์๋ ์ค๋ฅ๋ค์ด ๋ง์ด ์์ฃ . ์ด๋ฌํ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ '์์ธ ์ฒ๋ฆฌ'๋ผ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ผ ์ด๋ป๊ฒ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋์ง ์ดํด๋ณด๋๋ก ํฉ์๋ค.
์์ธ์ฒ๋ฆฌ != ๋ฒ๊ทธ
์, ์ผ๋จ ์ค๋ฅ๋ฅผ ๋ถ๋ฅํด ๋ด
์๋ค. ์์์ ๊ฐ๋จํ๊ฒ 2๊ฐ์ง ์ค๋ฅ๋ฅผ ๋ง์๋๋ ธ์ต๋๋ค.
์ฒซ ๋ฒ์งธ๋ ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, ๋ ๋ฒ์งธ๋ 0์ผ๋ก ๋๋์์ ๋ ์ค๋ฅ์
๋๋ค. ๋ ๋ค ์ค๋ฅ์ง๋ง ์์ธํ ์ดํด๋ณด๋ฉด ํน์ง์ด ์กฐ๊ธ ๋ค๋ฆ
๋๋ค.
์ฒซ ๋ฒ์งธ, ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์ ์ค๋ฅ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์์ ํ๊ณ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ฆ, ํ์ผ์ด ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค๋ ๊ฒ์ด์ฃ . ์์ธก์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ ๋ฒ์งธ, 0์ผ๋ก ๋๋์์ ๋ ์ค๋ฅ์
๋๋ค. ์ฒซ ๋ฒ์งธ์ฒ๋ผ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด ์ค ์ ์์ต๋๋ค. ํ์ง๋ง '0์ผ๋ก ๋๋๋ค'๋ฅผ ์ด๋ค ์์ผ๋ก ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ค ๊ฑด๊ฐ์? ์์ธก์ด ํ๋ญ๋๋ค.
๋จ์ ์ธ ์๋ฅผ ๋ค์ด๋ณด์ฃ .
/* ์ฝ๋1 */
public void Exam() {
for(int i = 9; i >=0 ;i--) {
System.out.println(10 % i);
}
}
(์ฝ๋1) ๊ณผ ๊ฐ์ด 10์ 9~0๊น์ง ๋๋ ๋๋จธ์ง ๊ฐ์ ์ถ๋ ฅํ๋ค๊ณ ๊ฐ์ ํฉ์๋ค. ๊ทธ๋ผ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์์ธ ์ฒ๋ฆฌ๋๋ ๋ถ๋ถ์ ๋ค์ 'for(int i = 9; i >0 ;i++)'๋ฅผ ์ํํ์ฌ ์ถ๋ ฅํด์ผ ํฉ๋๋ค. ์๊ฐํด๋ณด์ธ์. ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ์ข์๊น์?
์๋๋ฉด (์ฝ๋1) ๋ฅผ ์์ ํ๋ ๊ฒ์ด ์ข์๊น์? ๋น์ฐํ (์ฝ๋1)๋ฅผ i>0์ผ๋ก ์์ ํ๋ ๊ฒ ๋ฌด์กฐ๊ฑด ์ข์ต๋๋ค. ๋ ๋ฒ์งธ ์ผ์ด์ค๋ '๋ฒ๊ทธ'์ ๊ฐ๊น๋ค๊ณ ๋ณด์๋ ๊ฒ์ด ๋ง์ฃ .
๊ทธ๋์ ์ฒซ ๋ฒ์งธ ์ผ์ด์ค๋ '๊ฒ์ฌ ์์ธ'(- ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ ๊ฒ)๋ผ ํ๊ณ ๋ ๋ฒ์งธ ์ผ์ด์ค๋ '๋น ๊ฒ์ฌ ์์ธ'(- ์์ธ ์ฒ๋ฆฌ๋ณด๋จ ๋ฒ๊ทธ์ ๊ฐ๊น์ ์ฝ๋๋ฅผ ๊ณ ์น๋ ๊ฒ)์ด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. (๋ฌผ๋ก ๋น๊ฒ์ฌ ์์ธ๋ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด ์ค ์ ์์ต๋๋ค.)
try~ catch๋ฌธ์ ์ฌ์ฉํด๋ณด์
์ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ try/catch ๊ตฌ๋ฌธ์ ๋ํด์ ์์๋ด
์๋ค.
try๋ ์์ธ๋ฅผ ๊ฐ์งํ๋ ๊ณณ์ด๊ณ catch๋ try์์ ๊ฐ์งํ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์
๋๋ค.
์๋ฅผ ๋ณด์๋ ๊ฒ ๋ ๋น ๋ฅผ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ๋จํ ์๋ฅผ ์ํด์ '๋น๊ฒ์ฌ ์์ธ'๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
/* ์ฝ๋2 */
public void A() {
try {
System.out.println( 10 / 0 );
System.out.println( "๋" );
} catch(Exception e) {
//catch(์ด๋ค ์์ธ?) -Exception์ ๋ชจ๋ ์์ธ
System.out.println("์์ธ ์ฒ๋ฆฌ"); //์ถ๋ ฅ
}
}
//์ต์ข
์ถ๋ ฅ : ์์ธ ์ฒ๋ฆฌ
(์ฝ๋2)์ ๊ฐ์ ๊ตฌ๋ฌธ์ด ์์ต๋๋ค. 10์ 0์ผ๋ก ๋๋๊ณ ์์ด์ ์์ธ๊ฐ ๋ฐ์ํ๊ฒ ๋์ฃ .
์ด์ฒ๋ผ ์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ ๋ถ๋ถ์ try{ } ์์๋ค ๊ฐ์ธ์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ , ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ฆ์ catch ๊ตฌ๋ฌธ์ผ๋ก ๋์ด๊ฐ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ฒ ๋ฉ๋๋ค. ๊ต์ฅํ ๊ฐ๋จํฉ๋๋ค. try ๊ตฌ๋ฌธ์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด catch ๋ฌธ์ผ๋ก ๊ฐ์ ํด๋น ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฑฐ์ฃ .
ํ์ง๋ง ์ฃผ์ํด์ผ ํ ์ ์ด ์์ต๋๋ค.
(์ฝ๋2)์ ์ต์ข
์ถ๋ ฅ์ "์์ธ ์ฒ๋ฆฌ"์
๋๋ค. try ์์ "๋"์ด๋ผ๋ ์ถ๋ ฅ์ด ์์์๋ ์ถ๋ ฅํ๊ณ ์์ง ์์ต๋๋ค.
๋์น์ฑ์
จ๊ฒ ์ง๋ง, ์์ธ๊ฐ ๋ฐ์ํ ์ง์ ์์ ๋ฐ๋ก catch ๋ถ๋ถ์ผ๋ก ๋์ด๊ฐ๋ ๊ฒ์ด์ฃ .
์ฆ, 10/0์์ ์์ธ๊ฐ ๋ฐ์ํด catch ๊ตฌ๋ฌธ์ผ๋ก ๋์ด๊ฐ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ฏ๋ก "๋"์ด๋ผ๋ ๊ธ์๊ฐ ์ถ๋ ฅ์ด ๋์ง ์์ ๊ฒ์ด์ฃ .
๋ (์ฝ๋2)์ catch๋ Exception์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. Exception์ ๋ชจ๋ ์์ธ๋ฅผ ๋ํ๋ด๋ ๊ฒ์
๋๋ค. ํ์ง๋ง ๊ฐ๊ฐ์ ์์ธ๋ง๋ค ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ์์๋๋ ์์ธ๋ฅผ ๋งค๊ฐ๋ณ์์ ๋ฃ์ด์ ๊ฐ๊ฐ ์๋ง๊ฒ ์ฒ๋ฆฌํด ์ฃผ์๋ ๊ฒ ์ข์ต๋๋ค.
(์ฝ๋3)๊ณผ ๊ฐ์ด ๋ง์ด์ฃ .
/* ์ฝ๋3 */
public static void main(String[] args) {
int x,sum;
try {
x = Integer.parseInt(args[0]); sum = x / 0;
}catch(ArithmeticException e) { // ์ฒซ๋ฒ์งธ ์์ธ์ฒ๋ฆฌ
System.out.println("0์ผ๋ก ๋๋์ด์ ์์ธ๋ฐ์");
}catch(Exception e ) { // ๋๋ฒ์งธ ์์ธ์ฒ๋ฆฌ
System.out.println("args[0]๋ฅผ ์ฃผ์ง์์ ์์ธ๋ฐ์");
}
}
(์ฝ๋3)๊ณผ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ง ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ ์ธํ ์๋ ์์ผ๋, ์์ ์ด ์ฒ๋ฆฌํด์ผ ํ๋ ์์ธ๋ค์ ์ฐพ์๋ณด์๊ณ ์๋ง๊ฒ ์ฒ๋ฆฌํด ์ฃผ๋ ๊ฒ ํ์ํฉ๋๋ค. ํ์ง๋ง ์ฃผ์ํ์ค ์ ์ catch ๊ตฌ๋ฌธ๋ ์์๊ฐ ์๊ธฐ์, ๋งจ ์ฒ์๋ถํฐ exception(๋ชจ๋ ์์ธ)๋ก ์ ์ธํด ์ค๋ค๋ฉด, ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ... ์ ์ธํ catch ๋ฌธ์ ์ํํ ์๊ฐ ์์ต๋๋ค.
์, ๊ทธ๋ผ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ดํด๋ณด์์ผ๋, ์์ธ๋ฅผ ์ธ์์ ์ผ๋ก ๋ฐ์์์ผ ๋ณด์ฃ .
์์ธ๋ฅผ ์ธ์์ ์ผ๋ก ๋ฐ์์ํค๋ ๋ฐฉ๋ฒ์ throw๋ผ๋ ํค์๋๊ฐ ์์ต๋๋ค.
throw๋ '๋์ง๋ค' ์ฆ ์์ธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ์ด๋ผ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ด๊ฒ๋ ์์๋ก ์ดํด๋ณด์ฃ .
/* ์ฝ๋4 */
public void A() {
try {
throw new Exception();
} catch(Exception e) {
System.out.println("A์์ ์์ธ ์ฒ๋ฆฌ");
}
} //์ต์ข
์ถ๋ ฅ : A์์ ์์ธ ์ฒ๋ฆฌ
๊ฐ๋จํฉ๋๋ค. new ์์ธ๋ช ();๋ฅผ ํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ "throw ๊ฐ์ฒด"๋ก ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
์ด๋ ๊ฒ ๋ฐ์ํ ์์ธ๋ ์๋ง์ catch ๋ฌธ์ ๋ค์ด๊ฐ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ฃ . throw๋ ์ฌ๋์ด '์ธ์์ '์ผ๋ก ๋ฐ์์ํค๋ ์์ธ์
๋๋ค. ๋ฐ๋์ ์ฒ๋ฆฌํด์ค์ผ ํ ์์ธ๋ฅผ ๋ช
์์ ์ผ๋ก ์์ธ๋ฅผ ๋ฐ์์์ผ, ์ ์ง ๋ณด์์ ๋์์ ์ฃผ๊ธฐ๋ ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก throws๋ผ๋ ํค์๋์
๋๋ค. throws๋ "๋ฉ์๋๋ช
() throws ์์ธ๋ช
" ํํ๋ก ์ฌ์ฉํ๊ณ , ์์ ์ ๋ถ๋ฌ์จ ๋ฉ์๋์์ ์์ธ๋ฅผ ๋์ง๋ค ์ ๋๋ก ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ด
์๋ค.
/* ์ฝ๋5 */
public void A() {
try {
B();
} catch(Exception e) {
System.out.println("A์์ ์์ธ ์ฒ๋ฆฌ");
}
}
public void B() throws Exception{
throw new Exception();
}
A๋ฉ์๋์์ B๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ B๋ฉ์๋๋ ์์ธ๋ฅผ throw ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง B์์๋ try/catch ๊ตฌ๋ฌธ์ด ์์ด์ ์์ธ๋ฅผ ๋ฐ์์์ผ๋ ์ฒ๋ฆฌํด์ค ๊ณณ์ด ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ๋ ๋๊ฒ 'ํธ์ถํ ๊ณณ์์ ์ฒ๋ฆฌํด์ฃผ๊ฒ ๋ค'๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ฆ, ๋ฐ์ํ ์์ธ๋ฅผ ํธ์ถํ ๊ณณ์ผ๋ก ๋๊ฒจ์ฃผ๋ ๊ฒ์ด throws์ ๋๋ค.
(์ฝ๋5)์ B๋ฉ์๋ ๊ฐ์ด throws๋ฅผ ํด์ฃผ๊ฒ ๋๋ฉด, ์ธ์์ ์ผ๋ก ์์ฑํ ์์ธ๊ฐ A๋ฉ์๋๋ก ๋์ด๊ฐ catch ๋ถ๋ถ์์ ์์ธ ์ฒ๋ฆฌ๊ฐ ๋๋ ๊ฒ์ด์ฃ . throws ํค์๋๋ ๋ฉ์๋์์ ๋ฐ์ํ ์ ์๋ ์์ธ๋ค์ ๋์ดํ์ฌ ์ ์ด์ค์ผ๋ก์จ ํธ์ถํ ๋ฉ์๋์์ ์ ์ ํ๊ฒ ๋๋น๋ฅผ ํ๋๋ก ์ ๋ํ๋ ์ญํ ๋ ํฉ๋๋ค.
throw, throws๋ฅผ ์ ๊ตฌ๋ถํ์ฌ ๊ธฐ์ตํ์๊ณ ๋ง์ง๋ง์ผ๋ก finally๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
finlly๋ try/catch ๊ตฌ๋ฌธ์ ์ํํ๊ณ '๋ฐ๋์'์ํ๋๋ ๊ตฌ๋ฌธ์
๋๋ค. ์๋ฅผ ๋ณด์์ฃ .
/* ์ฝ๋6 */
public void A() {
try {
System.out.println("1");
System.out.println( 10 / 0); // ์์์น๋ชปํ ์์ธ๋ฐ์
System.out.println("2");
} catch(Exception e) {
System.out.println("3");
} finally {
System.out.println("4");
}
} //์ต์ข
์ถ๋ ฅ : 1 3 4
(์ฝ๋6)๋ฅผ ๋ด
์๋ค. finally ๊ตฌ๋ฌธ์ catch ๋ค์์ ๊ตฌํํ์ฌ ์ฌ์ฉํฉ๋๋ค. finally ๊ตฌ๋ฌธ์ ๋ง์๋๋ ธ๋ฏ์ด ๋ฐ๋์ ์ํ๋๋ ๊ตฌ๋ฌธ์
๋๋ค. ์ต์ข
์ถ๋ ฅ์ ๋ณด์๋ฉด 1 3 4 ๊ฐ ๋์ต๋๋ค. ์ฆ, 0์ผ๋ก ๋๋๋ ๊ฒ์ ์์ธ๊ฐ ๋ฐ์ํ๊ณ finally ๊ตฌ๋ฌธ์ ์ํํ๋ค๋ ๊ฒ์ด์ฃ . ์ ๋ง ๊ฐ๋จํ๊ณ ์์ ๋์๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ผ finally ๊ตฌ๋ฌธ์ ์ ์ฌ์ฉํ ๊น์? ์ด์ ๋ ๊ฐ๋จํฉ๋๋ค.
1. ๋ฐ๋์ ์ํ๋์ผ ํ๋ ๊ตฌ๋ฌธ์ด ์์ ๊ฒฝ์ฐ
2. try ๊ตฌ๋ฌธ, catch ๊ตฌ๋ฌธ์ ์ค๋ณต๋๋ ์ฝ๋๋ฅผ finally ๊ตฌ๋ฌธ์ ๋ฃ์์ผ๋ก์จ ์ฝ๋ ์ค๋ณต์ ์์จ ๊ฒฝ์ฐ
์๋ฅผ ๋ค์ด๋ณผ๊น์? Scanner๊ฐ ๋ํ์ ์ ๋๋ค.
/* ์ฝ๋7 */
public void A() {
Scanner test = new Scanner(System.in);
try {
//~~~~~~~ ๊ธฐํ ๊ตฌ๋ฌธ ์ํ
test.close();
} catch(Exception e) {
test.close();
}
}
(์ฝ๋7)๋ฅผ ๋ณด์๋ฉด test๋ก Scanner๊ฐ ์ ์ธ๋์ด์์ต๋๋ค. ๋ง์ฝ try ๊ตฌ๋ฌธ์์ ์์ธ ์์ด ๋ง์น๋ค๋ฉด test.close๋ก Scanner๋ฅผ ๋๋ด์ผ๊ฒ ์ฃ . ํ์ง๋ง try ๊ตฌ๋ฌธ ์์ //~~~~๊ตฌ๋ฌธ์์ ์์ธ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ด๋จ๊น์? ๊ทธ๋ผ try ๊ตฌ๋ฌธ์์ close๋ฅผ ํด์ฃผ์ง ๋ชปํ์ผ๋ catch ๊ตฌ๋ฌธ์ ๊ฐ์ ๋๊ฐ์ ์ฝ๋์ธ test.close๋ฅผ ํด ์ค์ผ ํฉ๋๋ค.
ํ์ง๋ง finally ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด, ์์ธ๊ฐ ๋ฐ์ํ๋ ์ํ๋ ๋ฐ๋์ ์ํํด์ผ ํ๋ฏ๋ก test.close์ ์ฝ๋ ์ค๋ณต์ ๋ง๊ณ ๋ณด๋ค ๋ณด๊ธฐ ํธํ๊ฒ ์ฝ๋ฉํ ์ ์์ต๋๋ค.
์, ์ง๊ธ๊น์ง try/catch ์์ธ ์ฒ๋ฆฌ์ ๋ํด์ ์์๋ณด์์ต๋๋ค. ์ด๋ ต์ง ์์ ๋ด์ฉ์
๋๋ค. ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง๋ง ์๊ณ ์์ผ๋ฉด ์ถฉ๋ถํ ์์ฉํ์ฌ ์ฌ์ฉํ์ค ์ ์๋ค๊ณ ์๊ฐ ๋ญ๋๋ค. thow, thows๋ ํท๊ฐ๋ฆฌ์ง ์๊ฒ ๋ค์ ํ๋ฒ ์ ๋ฆฌํด ๋์๋ ๊ฒ์ด ์ข๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์ ๊ถ๊ธ์ฆ ํ๋!
Q . ๊ทธ๋ผ throws๊ฐ ์ ์ธ๋ ๋ฉ์๋ ๋ด์์์ try~catch๋ฌธ์ ์ด๋จ๊น์?
@RequestMapping(value="/")
public void tabList(HttpServletRequest req, HttpServletResponse res) throws Exception{
JSONObject jsonObject = new JSONObject();
PrintWriter out = res.getWriter();
try {
jsonObject.put("code", 200);
}catch(Exception e) {
jsonObject.put("code", 400);
}
out.println(jsonObject);
}
A.
try ๋ฌธ ์์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด, ๊ทธ ์์ธ๊ฐ catch๋ฌธ์ผ๋ก ์ ์๊ฐ ๋์ด์๋ ๊ฒฝ์ฐ catch๋ฌธ์ผ๋ก ๋น ์ง๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฐ์ผ๋ก ๋์ ธ์ ธ์ง๋ ์์ต๋๋ค. catch๋ฌธ์ผ๋ก ์ ์๊ฐ ๋์ด์์ง ์์ ์์ธ์ด๊ฑฐ๋ try ๋ฐ๊นฅ์ ์๋ ์์ญ์ ๊ฒฝ์ฐ ๋ฐ์ผ๋ก ๋์ ธ์ง๋๋ค.
throws ๊ตฌ๋ฌธ์ด ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ค ๋ผ๊ณ ์๊ฐํ๋ฉด ์๋๋๊ฒ throws๋ ์์ธ๋ฅผ ์ง๊ธ ์ฒ๋ฆฌํ์ง ์๊ณ ๋ฐ์ผ๋ก ๋์ ธ์ ์ฑ ์์ ๋ ๋๊ธด๋ค๋ ๊ฐ๋ ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ง๊ธ ์์ฑํ๊ณ ์๋ ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ณณ์ด ์๊ฒ ์ฃ ? ๊ฑฐ๊ธฐ์๋ try catch๋ฅผ ์ฐ๋์ง throws๋ฅผ ๋ ์ฐ๋์ง ๋ ์คํ๋๋ ํด์ผ ํฉ๋๋ค.
๊ฒฐ๊ตญ ํ๊ณ ํ๊ณ ์ฌ๋ผ๊ฐ๋ฉด ์ธ์ ๊ฐ try catch๋ฅผ ์ฐ๊ฒ ๋ฉ๋๋ค.
(๊ฒฐ๊ตญ public static void main๊น์ง ํ๊ณ ์ฌ๋ผ๊ฐ์ ๊ฑฐ๊ธฐ์๋ throws๋ก ๋์ ธ๋ฒ๋ ธ๋ค๋ฉด ๊ทธ ์์ธ๋ ์์ ๋ฌด์๋ฉ๋๋ค.)
Conference
์๋ค ๋ฏ์ด๋ณด๊ธฐ - ์์ธ์ฒ๋ฆฌ
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
'...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] wget, curl ์ฐจ์ด (0) | 2021.07.30 |
---|---|
[Spring] ํธ๋์ญ์ ์ propagation ์ค์ ๋ณ ๋์ (0) | 2021.06.23 |
[JSP] <c:forEach> varStatus ํ์ฉ๋ฒ (0) | 2021.06.10 |
[Java] ์๋ฐ static์ ์๋ฏธ์ ์ฌ์ฉ๋ฒ (2) | 2021.06.06 |
์ ๊ฐ๋ฐ์๋ ์๋ชป๋ ๊ธฐ์ ์ ํ์ ๋ฐฅ ๋จน๋ฏ์ด ํ๋? (4) | 2021.06.05 |