Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- vlan
- STP
- AWS
- Repository
- 리버싱
- bastion host
- 라우터
- Python
- 네트워크
- 머신러닝
- abex'crackme
- 머신러닝 프로세스
- 스위치
- 온프레미스
- 크롤러
- Firewall
- Reversing
- 인공지능
- CISCO
- dreamhack
- RIP
- 암호학
- Java
- vector
- Mac
- cmd
- docker
- 자바
- Screening Router
- AI
Archives
- Today
- Total
Haekt‘s log
[JAVA] 예외처리( Exception ) 하는법 본문
웹 서비스를 만들때에 오류페이지가 뜨는 것은 한번쯤은 겪어보셨을 텐데요. 이 오류페이지를 코딩을 하는 경우도 있답니다.
그런데 JAVA 에서도 비슷한 기능이 존재합니다. 코드 실행중 예외상황(에러)이 발생했을때 특정 기준으로구분하여 예외처리하는
Exception 입니다.
예외처리를 하는 방법은 간단합니다.
try-catch 문을 사용하면 매우 간단하게 예외처리가 가능합니다.
- try-catch문
try{ //괄호 안의 코드를 실행
//실행할 코드
//ex System.out.println("trying..");
throw /* new Exception() */; //Exception 예외를 발생시킴
}
catch(/* Exception e */){ // 만약 try실행중 Exception 예외가 발생하였을 경우 실행
//예외 발생시 실행할 코드
//ex) e.printStackTrace(); //예외의 내용 출력
}
finally{ // try catch 실행 후 무조건 실행
// ex) System.out.println("try-catch is END!");
}
try-catch 는 try 부분의 코드를 실행한 후 만약 특정 조건의 예외상황이 발생하면 catch 부분의 코드를 실행시킵니다.
- Try : 중괄호 안의 코드를 실행
- throw : 의도적으로 예외상황을 발생시킴
- catch() : Try 코드 실행중 괄호 안의 예외상황이 발생하였을 때를 잡아내, 특정 코드를 실행
- finally : Try catch 실행 후 무조건으로 실행
* try-catch 는 코드 런타임에만 작동합니다. 문법 오류와 같은 상황에는 catch 는 발생하지 않습니다.
* 예외의 종류
catch 나 throw 에 쓰는 예외의 종류입니다.
java.lang.Exception 에 여러가지 예외들이 상속되어 있습니다. 아래의 링크에서 살펴볼 수 있습니다.
https://docs.oracle.com/javase/7/docs/api/
Exception 은 상위 예외로, RuntimeException, ClassNotFoundException 등 의 예외를 포함합니다.
// catch() 작성 예시
catch( RuntimeException e ){}
catch( ClassNotFoundException e ){}
catch( Exception e ){} // Exception 이 위 예외를 모두 포함함. 변수 이름은 맘대로 해도 됨.
* Exception 은 RuntimeException 과 같은 예외의 상위 예외이므로, catch 를 한번에 나란히 쓸 수 없음
* 상위 예외와 나란히 쓰고 싶을 경우 항상 상위예외가 아래로 가도록 한다.
* 예제
public class st2 {
public static void main(String[] args)
{
try {
System.out.println("try!");
throw new IllegalArgumentException();
}
catch( IllegalArgumentException e )
{
System.out.println("ll");
}
catch( NullPointerException e )
{
System.out.println("Null");
}
catch( Exception e)
{
System.out.println("ex");
}
finally{
System.out.println("end!");
}
}//main
}//class
결과 -
해석
- try 의 "try!" 출력
- try의 throw new IllegalArgumentException(); 으로 인해 catch (IllegalArgumentException e)실행
- catch (IllegalArgumentException e) 의 "ll" 출력
- finally 의 "end!" 출력
'언어 > JAVA' 카테고리의 다른 글
[JAVA] 변수 상수 처리하기 (1) | 2022.10.03 |
---|---|
[JAVA] 스캐너 클래스를 이용한 인수 입력 & args 입력 (1) | 2022.10.03 |
[JAVA] 문자열 & 문자열버퍼 관련 함수 정리 (1) | 2022.10.02 |
[JAVA] new 연산자란 ? (1) | 2022.10.01 |
[Eclipse] Java를 위한 Eslipse 설치 (0) | 2022.09.28 |
Comments