Develop/Java
[공부/Java] 자바의 main() 메소드, 예외, 예외 처리, try-catch-finally, 예외 클래스
yulee_to
2022. 7. 11. 20:40
728x90
main() 메소드
- 자바 응용 프로그램의 실행 시작 메소드
- public static void main(String[] args){}
main()메소드의 인자 전달
- c:> java Hello 3 5.7을 수행하면 Hello class의 main메소드의 args에 3과 5.7이 전달됨
- args[i]로 배열 형태로 접근 가능
- 이클립스에서 main 메소드의 인자 전달
- Run -> Run Configurations -> Arguments 탭에서 Program arguments 칸에 값을 넣으면 args로 넘어감
자바의 예외
- 컴파일 오류
- 문법에 맞지 않게 작성된 코드
- 컴파일 시 발견
- 예외(Exception)
- 오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류
- ex) 정수를 0으로 나누는 경우, 배열보다 큰 인덱스로 접근하려는 경우...
- 오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류
예외 처리 : try-catch-finally문
- 예외 처리
- 예외가 발생할 때 실행되는 코드
- try-catch-finally문 사용
- try : 시도해볼 코드(예외 발생 가능성이 있는 코드)
- catch : 예외가 발생했을 때 실행될 코드
- finally : 예외 발생 여부와 상관없이 무조건 실행되는 코드
자바의 예외 클래스
예외 타입(예외 클래스) | 예외 발생 경우 | 패키지 |
ArithmeticException | 정수를 0으로 나눌 때 발생 | java.lang |
NullPointerException | null 레퍼런스를 참조할 때 발생 | java.lang |
ClassCastException | 변환할 수 없는 타입으로 객체를 변환할 때 발생 | java.lang |
OutOfMemoryError | 메모리가 부족한 경우 발생 | java.lang |
ArrayIndexOutOfBoundsException | 배열의 범위를 벗어난 접근 시 발생 | java.lang |
IllegalArgumentException | 잘못된 인자 전달 시 발생 | java.lang |
IOException | 입출력 동작 실패 또는 인터럽트 시 발생 | java.io |
NumberFormatException | 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환 시 발생 | java.lang |
InputMismatchException | Scanner 클래스의 nextInt()를 호출하여 정수로 입력받고자 하였지만, 사용자가 문자를 입력한 경우 | java.util |
728x90