Java ํ๋ก๊ทธ๋จ์ ์คํํ๋ค๊ฐ ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ธ ์ํ์ด ์๋๋ฉด
try { }
catch { }
finally { }
/* try-catch๋ฌธ */
package lecture0714;
public class Main {
public static void main(String[] args) {
System.out.println("ํ๋ก๊ทธ๋จ ์์!");
// try-catch๋ฅผ ํตํด์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข
๋ฃ๋ฅผ ๋ง๋๋ค.
// exception์ด ๋ฐ์ํ ์ฌ์ง๊ฐ ์๋ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ค.
try {
int result = 10 / 0; // ์ค๋ฅ๊ฐ ๋ฐ์
}catch(ArithmeticException e) {
// exception์ ์ฒ๋ฆฌํ ๊ฑฐ์์! ์ฒ๋ฆฌ์ฝ๋
System.out.println("์ค๋ฅ๊ฐ ๋ฐ์ํ์ด์");
}
System.out.println("ํ๋ก๊ทธ๋จ ์ข
๋ฃ");
}
}
/* -------------------------------------------------------
Exception ์ข
๋ฅ๋ณ๋ก ์ฌ๋ฌ๊ฐ */
package lecture0714;
public class Main {
public static void main(String[] args) {
System.out.println("ํ๋ก๊ทธ๋จ ์์!");
// try-catch๋ฅผ ํตํด์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข
๋ฃ๋ฅผ ๋ง๋๋ค.
// exception์ด ๋ฐ์ํ ์ฌ์ง๊ฐ ์๋ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ค.
try {
Object obj = null;
System.out.println(obj.toString());
// int result = 10 / 0; // ์ค๋ฅ๊ฐ ๋ฐ์
// catch๋ฌธ์ ์ฌ๋ฌ๊ฐ ๋์ด์ ์ข
๋ฃ์ ๋ง๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
}catch(ArithmeticException e) {
// exception์ ์ฒ๋ฆฌํ ๊ฑฐ์์! ์ฒ๋ฆฌ์ฝ๋
System.out.println("์ค๋ฅ๊ฐ ๋ฐ์ํ์ด์");
}catch(NullPointerException e) {
}finally {
// ์ค๋ฅ์ ์๊ด์์ด ๋ฌด์กฐ๊ฑด ์คํ๋๋ ์ฝ๋
}
System.out.println("ํ๋ก๊ทธ๋จ ์ข
๋ฃ");
}
}
/* -------------------------------------------------------
์์ Exception */
package lecture0714;
public class Main {
public static void main(String[] args) {
System.out.println("ํ๋ก๊ทธ๋จ ์์!");
// try-catch๋ฅผ ํตํด์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข
๋ฃ๋ฅผ ๋ง๋๋ค.
// exception์ด ๋ฐ์ํ ์ฌ์ง๊ฐ ์๋ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ค.
try {
Object obj = null;
System.out.println(obj.toString());
int result = 10 / 0; // ์ค๋ฅ๊ฐ ๋ฐ์
// ์ ์ผ ์์ ํ์
์ผ๋ก ์ค์ ํด์ ๋ชจ๋ exception ๋ค ์ก๋๋ค.
}catch(Exception e) {
// exception์ ์ฒ๋ฆฌํ ๊ฑฐ์์! ์ฒ๋ฆฌ์ฝ๋
System.out.println("์ค๋ฅ๊ฐ ๋ฐ์ํ์ด์");
}
// ์๋์ catch(NullPointerException e) ๋ฌธ์ด ๋ฐ์ํ๋ฉด ์ค๋ฅ ๋ฐ์
// ์์์ ๋ชจ๋ ์ค๋ฅ๋ฅผ ๋ค ์ก๊ธฐ ๋๋ฌธ์ด๋ค.
// ๋ฐ๋ผ์, ์์ Exception์ด ๋จผ์ ๋ฑ์ฅํ๋ฉด ์๋๋ค.
// ํ์ Exception์ ๋จผ์ ๋ฑ์ฅํด๋ ๋๋ค.
System.out.println("ํ๋ก๊ทธ๋จ ์ข
๋ฃ");
}
}