Exception, 예외정보 출력, NullPointerException, ArrayIndexOutOfBoundsException, StringIndexOutofBoundsException, , NumberFormatException , ArithmethicException , ClassCastException , Calendar, Formater, ceil, floor, round

2019. 3. 19. 19:00JAVA

-----------------------------Exception--------------------------------------------------


Exception 을 사용하는것은 모두 일반예외이다.


예외정보 얻기, 출력하기


.getMessage() - 사용할경우 예외 메시지만 보여준다

.toString() - getMessage()보다는 더 자세한 예외가 출력

.printStackTrace() - 가장 자세한 예외를 보여주며 주로 사용


(예시)




Sysout.out.println를 System.err.println로 바꾸면 에러 출력 글자색이 빨간색으로 보인다







Exception 클래스를 상속받을때 생성자중 (String message)를 받는 생성자를 주로 많이 쓴다.





## 사용자 정의 일반 예외(Exception 클래스를 상속)##





## 실행 예외(RunTimeException 클래스를 상속)##





// 일반예외는 사용자의 오작동, 실행예외는 개발자의 잘못된 코딩으로 나우지만 

// 요즘 추세는 실행예외가 간편하기 때문에 그냥 대부분 실행예외로 한다. 

// 그래서 요즘은 애러가 발생할때 처리가 아니라 인지를 하는 쪽으로 한다.



------------------NullPointerException--------------------


NullPointerException 란

객체 참조가 없는상태, 즉 null 값을 같는 참조변수로 객체접근 연산자인 도드(.)를 사용했을 때 발생된다.


예시






ArrayIndexOutOfBoundsException : 배열의 인덱스범위를 벗어났을 때 발생





StringIndexOutofBoundsException : 문장열의 인덱스범위를 벗어났을 때 발생





NumberFormatException : 문자열을 숫자로 바꿀 때 숫자로 변환할 수 없는 문자열이 포한되어 있으면 발생

int Integer.parseInt(String numberText)

double Double.parseDouble(String numberText)




ArithmethicException : 0으로 어떤 수를 나눌 때 발생한다.




ClassCastException : 형변환이 다를때 예외발생








---------------------------------------------Calendar----------------------------------


Date를 대부분 사용하지만 한번 알아보자 중요도가 낮다.











-------------------------------------------Formater------------------------------------


=================날짜 형식 클래스(SimpleDateFormater)

// SimpleDateFormat

// Date객체가 가지고 있는 날짜/시간정보를 원하는 형식의 문자열로 변환해주는 클래스

// 패턴문자응 사용해서 원하는 문자열 형태를 지정할 수 있다ㅣ.

// Date -> "2019" 패턴 : "yyyy"

// Date -> "19" 패턴 : "yy"

// Date -> "2019/03/19" 패턴 : "yyyy/MM/dd"

// Date -> "16:32:12" 패턴 : "HH:mm:ss"

// Date -> "2019년 3월 19일 화요일" 패턴 : "yyyy년 M월 d일 EEEE"

// Date -> "오루 4시 37분 16초" 패턴 : a h시 m분 s초"


예시







================숫자 형식 클래스(DecimalFormat)

// DecimalFormat

// 숫자를 원하는 형식의 문자열로 변환해주는 클래스

// 패턴문자를 사용해서 원하는 문자열 형태를 지정할 수 있다.

// 10000000 -> "10,000,000" 패턴 "#,###"

// 10000000 -> "10,000,000" 패턴 "0,000"

예시





----------------------------------------------------ceil, floor, round---------------------------------

ceil : 소숫값을 받아 천장값을 반환한다. 예) 3.1 -> 4.0, 3.6 -> 4.0

floor : 소숫값을 받아 바닥값을 반환한다. 예) 3.1 -> 3.0, 3.6 -> 4.0

round : 소숫값의 절대값을 반환한다. 예) 3.1 -> 3.0, 3.7 -> 4.0