티스토리 뷰
1-18. 예외, 에러 처리
✔ try-catch(-finally) 형식
try {
// 예외가 발생할 가능성이 있는 코드를 구현합니다.
} catch (FileNotFoundException e) {
// FileNotFoundException이 발생했을 경우,이를 처리하기 위한 코드를 구현합니다.
} catch (IOException e) {
// FileNotFoundException이 아닌 IOException이 발생했을 경우,이를 처리하기 위한 코드를 구현합니다.
} finally {
// 예외의 발생여부에 관계없이 항상 수행되어야하는 코드를 구현합니다.
}
+ try-with-resource 형식도 있다. (교재 참고)
1-19. 예외, 에러 처리 퀴즈
😵 Quiz 해설
1. divide 함수의 명세 바꾸기 - throws 키워드 : 어떤 종류의 에러들 exception을 던질 수 있는지 명시해주기
so 함수를 쓰는 쪽에서 이 명세를 보고 이러이러한 에러에서 핸들링을 해야겠네 생각할 수 있음
2. ArithmeticException 을 캐치해서 "잘못된 계산"이라고 알려주기,
그리고 이 exception에 있었던 메시지도 같이 출력해주기 .getMessage( )
*결과값 : /by zero 뜻은 0으로 나눌 수 없다는 말
3. ArrayIndexOutOfBoundsException 을 캐치해서 "잘못된 index 범위"이며 타당한 index 범위는 0부터
배열의 마지막 순서(배열의 길이 - 1)까지 임을 알려주기
- throw : 에러를 고의로 발생시킬 때 사용합니다.
- throws : 자신을 호출한 상위 메소드로 에러를 던지는 역할을 합니다.
throws는 메소드를 정의할 때 사용하며, 이 메소드에서 발생할 수 있는 Exception을 명시적으로 정의할 때 사용합니다.
따라서 throws를 보면 잠재적으로 어떤 Exception을 발생될 수 있는지 쉽게 알 수 있습니다.
예외를 떠넘기는 방법은 다음과 같이 throws 키워드를 메서드 뒤에 붙여주면 됩니다.
public static void generateException() throws NullPointerException{
//NullPointerException 발생
}
출처 :
https://devlog-wjdrbs96.tistory.com/141
https://codechacha.com/ko/java-throw-and-throws/
https://dololak.tistory.com/87
※ 이제부터는 자바 코드 활용 방법을 배움
1-20. 날짜와 시간 다루기
ㅇ now( ) 는 현재의 날짜 시간을 찍기
ㅇ of( )는 지정하는 값이 필드에 담김. 특정 시간/날짜를 숫자로 지정해서 보고싶을 때
- 변수로 설정하고 싶다면 of라는 매서드를 이용하면 됨
System.out.println("now usages"); //now 활용
LocalDate date = LocalDate.now(); //date 변수 만듦
System.out.println("of() usage"); //특정한 시간 지정
LocalDate dateOf = LocalDate.of(2022,03,30);
ㅇ formatter : 표시 형식을 지정(바꿈)
FormatStyle이라는 미리 정의된 옵션들이 있음
DateTimeFormatter (Java Platform SE 8 ) (oracle.com)
- 날짜와 시간 형식 수정 예제
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);
String shortFormat = formatter.format(LocalTime.now()); //현재 시간 출력
System.out.println(shortFormat);
- FormatStyle 내가 원하는 형식으로 쓸 때
ex) String 으로 년, 월, 일 표현
DateTimeFormatter myFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd" );
String myDate = myFormatter.format(LocalDate.now());
System.out.println(myDate);
- 날짜와 시간의 차이 계산
between( )을 사용
ex)
***
Period period = Period.between(today, birthday);
***
✔ Quiz 현재 날짜와 시간 출력
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 hh시 mm분");
String now = dateTimeFormatter.format(LocalDateTime.now());
System.out.println("현재 시간: " + now);
내가 원하는 형식, 표현식이므로 'DateTimeFormatter.ofPatterm'을 쓰는 것
String now 뽑기
'Edu_hanghae99 > Java 문법 뽀개기' 카테고리의 다른 글
[Java] Java 문법 뽀개기 1-21 ~ 1-23 컬렉션 (0) | 2022.11.03 |
---|---|
[Java] Java 문법 뽀개기 1-12 ~ 1-17 (0) | 2022.10.26 |
[Java] Java 문법 뽀개기 1-5 ~ 1-11 (0) | 2022.10.26 |
[Java] Java 문법 뽀개기 1-2 ~ 1-4 (0) | 2022.10.24 |