โถ ์ปดํ์ผ๋ฌ์ ์ํด ์์ธ๊ฐ ์ฒดํฌ๋๋ ๊ฒฝ์ฐ
์ปดํ์ผ๋ฌ์ ์ํด ์ฒ๋ฆฌ๋๋ ๋ง์ ์์ธํด๋์ค๋ค์ ์๋ฐ์์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ผ๋ฉด ์ปดํ์ผ ์ค๋ฅ๊ฐ ๊ณ์ ๋จ๋ ๊ฒ์ด ๋ง๋ค.
โ
โ
*ํ์ผ ์ ์ถ๋ ฅ์์ ๋ฐ์ํ๋ ์์ธ ์ฒ๋ฆฌํ๊ธฐ
์๋ฐ์์ ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ๋ฐ ์คํธ๋ฆผ(stream) ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค.
package exception;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class ExceptionHandling1 {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("a.txt");
} catch (FileNotFoundException e) {
System.out.println(e); // ์์ธ ํด๋์ค์ toString() ๋ฉ์๋ ํธ์ถ
}
System.out.println("์ฌ๊ธฐ๋ ์ํ๋ฉ๋๋ค."); // ์ ์ ์ถ๋ ฅ
}
}
โ<์คํ ๊ฒฐ๊ณผ>
-์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค๊ณ ํด์ ํ๋ก๊ทธ๋จ์ ์์ธ ์ํฉ ์์ฒด๋ฅผ ๋ง์ ์๋ ์๋ค. ํ์ง๋ง ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ์์ธ ์ํฉ์ ์๋ ค ์ฃผ๋ ๋ฉ์ธ์ง๋ฅผ ๋ณผ ์ ์๊ณ , ํ๋ก๊ทธ๋จ์ด ๋น์ ์ ์ข ๋ฃ๋์ง ์๊ณ ๊ณ์ ์ํ๋๋๋ก ๋ง๋ค ์ ์๋ค.
โ
โ
โ
-try-catch-finally๋ฌธ
๋ง์ฝ try ๋ธ๋ก ์์์ ๋ฐ์ํ ์ ์๋ ์์ธ ์ํฉ์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด catch ๋ธ๋ก์ ์์ธ ์ํฉ ์๋งํผ ๊ตฌํํด์ผ ํ๋ค. ํ์ง๋ง ๊ฐ ๋ธ๋ก์ ๋ชจ๋ ์์ฑํด์ผ ํ๋ค๋ฉด ๋ฒ๊ฑฐ๋ก์ธ ๊ฒ์ด๋ค. ์ด ๋ ์ฌ์ฉํ๋ ๋ธ๋ก์ด finally์ด๋ค.
์ผ๋จ try ๋ธ๋ก์ด ์ํ๋๋ฉด finally ๋ธ๋ก์ ์ด๋ค ๊ฒฝ์ฐ์๋ ๋ฐ๋์ ์ํ๋๋ค.
package exception;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ExceptionHandling3 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("a.txt");
} catch (FileNotFoundException e) {
System.out.println(e);
return;
} finally {
if (fis != null) {
try {
fis.close(); // ํ์ผ ์
๋ ฅ ์คํธ๋ฆผ ๋ซ๊ธฐ
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("ํญ์ ์ํ๋ฉ๋๋ค.");
}
System.out.println("์ฌ๊ธฐ๋ ์ํ๋ฉ๋๋ค.");
}
}
<์คํ ๊ฒฐ๊ณผ>
-15ํ์ return๋ฌธ๊ณผ ์๊ด์์ด ์ถ๋ ฅ๋๋ค.
โ
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java-๊ธฐ์ด] ์์ธ ์ฒ๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ (0) | 2021.02.22 |
---|---|
[Java-๊ธฐ์ด] try-with-resources๋ฌธ (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ์์ธ ํด๋์ค (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ์คํธ๋ฆผ (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ๋๋ค์ (0) | 2021.02.22 |
๋๊ธ