이 영역을 누르면 첫 페이지로 이동
시간의화살 블로그의 첫 페이지로 이동

시간의화살

페이지 맨 위로 올라가기

시간의화살

행복하세요

[Java] 예외처리

  • 2021.10.29 20:38
  • Programming Language/Java

 

 

 

런타임 시 발생하는 오류를 처리해 주자.

어떻게 사용하는지에 집중해 알아보자.

 

		try {
			
		}catch (Exception e) {
			
		}

위와 같은 형식으로 작성된다.

 

예외가 발생하면 발생한 예외와 일치하는 catch블럭을 확인하고, catch 블럭 내의 문장을 수행한다.

그 다음 전체 try-catch 문을 빠져나가서 다음 코드를 계속해서 수행한다.

예외가 발생하지 않으면 catch 블럭을 무시하고 전체 try-catch 문을 빠져나가서 다음 코드를 계속해서 수행한다.

 

throw로 고의로 예외를 발생시킬 수 있다.

 

Exception은 모든 예외들의 최고 조상이며, 모든 종류의 예외를 처리할 때는 Exception을 선언해 편하게 처리할 수 있다.

 

Exception e = new Exception("고의로발생");
throw e;

메서드에 예외를 선언해 try-catch 대신 예외를 처리하는 방법이 있다.

 

public class Main {
	public static void main(String[] args) throws Exception {

		
	}
}

위처럼 main메서드에 예외를 선언할 수 있다.

이 때 키워드는 throws다 헷갈리지 말자.

throws에 예외를 명시함으로써 자신을 호출한 메서드에게 예외를 전달해 예외처리를 맡긴다.

즉, throws를 선언한다고 해서 예외가 처리되는 게 아니고 다른 메서드들에게 예외 처리를 부탁하는 것으로 이해하자.

 

finally 블럭을 사용해 예외의 발생여부에 상관없이 실행될 코드를 작성할 수 있다.

 

		try {

		} catch (Exception e) {

		} finally {
			// 예외 발생여부에 상관없이 수행할 문장 작성
		}

 

위와 같은 형식으로 작성된다.

 

반응형

'Programming Language > Java' 카테고리의 다른 글

[Java] 쓰레드 (Thread) 1  (0) 2021.11.08
[Java] 래퍼 클래스 (Wrapper)  (0) 2021.10.29
[Java] 객체지향 요약  (0) 2021.10.29
[Java] 스트림 (Stream)  (0) 2021.10.25
[Java] 람다식 (Lambda expression)  (0) 2021.10.25

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Java] 쓰레드 (Thread) 1

    [Java] 쓰레드 (Thread) 1

    2021.11.08
  • [Java] 래퍼 클래스 (Wrapper)

    [Java] 래퍼 클래스 (Wrapper)

    2021.10.29
  • [Java] 객체지향 요약

    [Java] 객체지향 요약

    2021.10.29
  • [Java] 스트림 (Stream)

    [Java] 스트림 (Stream)

    2021.10.25
다른 글 더 둘러보기

정보

시간의화살 블로그의 첫 페이지로 이동

시간의화살

  • 시간의화살의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (607)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • Java (19)
      • JavaScript (15)
      • C (25)
      • C++ (12)
      • Python (1)
      • PHP (2)
    • Computer Science (69)
      • Operating System (18)
      • Computer Network (17)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Github Actions (0)
      • Amazon Web Service (8)
    • Machine Learning (28)
      • AI Introduction (28)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • Solutions (14)
    • Life Logs (0)
    • 낙서장 (25)

최근 글

나의 외부 링크

메뉴

  • 홈

정보

13months의 시간의화살

시간의화살

13months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © 13months.

티스토리툴바