728x90
반응형
예외의 발생
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
// 예외의 발생
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("나없는파일"));
br.readLine();
br.close();
}
}
예외 처리하기
// 예외 처리하기
public class Main {
public static void main(String[] args) {
int c;
try {
c = 4/0;
} catch (ArithmeticException e) {
c=-1; // 예외가 발생하여 이 문장이 수행됨
}
}
}
finally : 예외가 일어나도 반드시 실행되야 하는 부분에 사용
// finally : 예외가 일어나도 반드시 실행되야 하는 부분에 사용
public class Main {
public void shouldBeRun() {
System.out.println("ok thanks");
}
public static void main(String[] args) {
Main sample = new Main();
int c;
try {
c = 4/0;
} catch (ArithmeticException e) {
c=-1;
} finally {
sample.shouldBeRun();
}
}
}
RuntimeException : 실행시 발생하는 예외
class FoolException extends RuntimeException {
}
public class Main {
public static void saynick(String nick) {
if("바보".equals(nick)) {
throw new FoolException();
}
System.out.println("당신의 별명은 "+nick+" 입니다.");
}
public static void main(String[] args) {
Main main = new Main();
main.saynick("바보");
main.saynick("야호");
}
}
Exception
class FoolException extends Exception {
}
public class Main {
public void sayNick(String nick) {
try {
if("바보".equals(nick)) {
throw new FoolException();
}
System.out.println("당신의 별명은 "+nick+" 입니다.");
}catch(FoolException e) {
System.err.println("FoolException이 발생했습니다.");
}
}
public static void main(String[] args) {
Main main = new Main();
main.sayNick("바보");
main.sayNick("야호");
}
}
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[자바] 스레드(Thread) 예제 (0) | 2023.11.14 |
---|---|
[자바] 스레드(Thread) (1) | 2023.11.14 |
[자바] 싱글톤 패턴(singleton) (0) | 2023.11.14 |
[자바] 다형성(polymorphism) (0) | 2023.11.13 |
[자바] 인터페이스(interface) (0) | 2023.11.13 |