코드 그라데이션
후발대 19일차 전체 코드 본문
후발대수업_19.
예외처리2 (Throw, Finally, TryWithResources, CustomException, Throws)
진행 내용 (수업자료)
실습코드
Stream 퀴즈풀이
package com.sparta.hbd04.prac01.prac15;
// 메리 50
// 나나 42
// 벤자민 21
// 코코 18
// 마이클 5
import java.util.ArrayList;
// 미술관 입장료
// -----------
// 메리 50 5000원
// 나나 42 5000원
// 벤자민 21 5000원
// 코코 18 무료
// 마이클 5 무료
public class Prac15 {
public static void main(String[] args) {
ArrayList<Customer> list = new ArrayList<>();
list.add(new Customer("메리",50));
list.add(new Customer("나나",42));
list.add(new Customer("벤자민",21));
list.add(new Customer("코코",18));
list.add(new Customer("마이클",5));
System.out.println("미술관 입장료");
System.out.println("--------------");
list.stream()
.map(x -> x.age >= 20 ? x.name + " 5000원" : x.name + " 무료")
.forEach(System.out::println);
}
}
class Customer {
public String name;
public int age;
public Customer(String name, int age) {
this.name = name;
this.age = age;
}
}
_03_Throw
package com.sparta.hbd04.prac18;
public class _03_Throw {
public static void main(String[] args) {
int age = 17; //만 17세
try {
// System.out.println(3 / 0);
if (age < 19) {
// System.out.println("만 19세 미만에게는 판매하지 않습니다.");
throw new Exception("만 19세 미만에게는 판매하지 않습니다.");
} else {
System.out.println("주문하신 상품 여기 있습니다.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
_04_Finally
package com.sparta.hbd04.prac18;
public class _04_Finally {
public static void main(String[] args) {
try {
System.out.println("택시의 문을 연다.");
// throw new Exception("휴무 택시");
System.out.println("택시에 탑승한다.");
} catch (Exception e) {
System.out.println("!! 문제 발생: " + e.getMessage());
} finally {
System.out.println("택시의 문을 닫는다.");
}
// try + catch(s)
// try + catch(s) + finally
// try + finally
System.out.println("-------------");
try {
System.out.println(3/0);
} finally {
System.out.println("프로그램 정상 종료");
}
}
}
05_TryWithResources
package com.sparta.hbd04.prac18;
import java.io.BufferedWriter;
public class _05_TryWrithResources {
public static void main(String[] args) {
MyFileWriter writer1 = null;
try {
writer1 = new MyFileWriter();
writer1.write("아이스크림이 먹고 싶어요.");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer1.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
System.out.println("-------------");
try (MyFileWriter writer2 = new MyFileWriter()) {
writer2.write("빵이 먹고 싶어요.");
} catch (Exception e) {
e.printStackTrace();
}
BufferedWriter bw = null;
}
}
class MyFileWriter implements AutoCloseable {
@Override
public void close() throws Exception {
System.out.println("파일을 정상적으로 닫습니다.");
}
public void write(String line) {
System.out.println("파일에 내용을 입력합니다.");
System.out.println("입력 내용 : " +line);
}
}
728x90
'Java > 후발대' 카테고리의 다른 글
후발대 20일차 전체 코드 (0) | 2023.03.02 |
---|---|
후발대 19일차 설명 추가 (0) | 2023.02.24 |
과제 2주차 내용 정리 (0) | 2023.02.22 |
후발대 18일차 설명 추가 (0) | 2023.02.21 |
후발대 18일차 전체 코드 (0) | 2023.02.21 |
Comments