본문 바로가기
안드로이드 자바

[Java][Android] 예외처리하기

by teamnova 2021. 4. 25.

이번 예제에서는 스틱코드라는 플러그인을 이용해서 예외처리 하는 방법을 알아보겠습니다.

 

예외처리란?

예외 처리(例外 處理) 또는 오류 처리는 일반적인 실행의 흐름을 바꾸는 몇 가지 조건을 처리하도록 설계한 프로그래밍 언어의 개념이나 컴퓨터 하드웨어 구조를 말한다.

일반적으로 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것을 예외 처리라고 한다. - 위키백과

 

예외의 원인들

  • 컴퓨터 하드웨어 문제
  • 운영 체제의 설정 실수
  • 라이브러리 손상
  • 사용자의 입력 실수
  • 받아들일 수 없는 연산
  • 할당하지 못하는 기억 장치 접근

등등

 


 

자바에서의 예외처리

자바에서는 try/catch문으로 예외처리를 할 수 있습니다.

try 란?

명사 : 시험

동사 : 해보다, 써보다, 먹어보다, 해결하다

 

catch란?

알아차리는 것.

야구에서 볼을 잡는 일

 

try catch문 작성법

try{
	// 코드 작성 영역
}catch(Exception e){
	// 처리영역
} finally {
	// 예외 발생 여부와 상관없이 무조건 실행될 코드
}

 


예제

 

이번에 사용할 스틱코드 예제입니다.

stickode.com/detail.html?no=1706

 

스틱코드

 

stickode.com

 

 

스틱코드에서 제공한 예시 코드를 이용해서 작업을 해보겠습니다.

 

아래의 코드를 오류가 나는 코드입니다.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String[] arr = {"홍길동", "이순신", "신사임당"};
        int i = 0;
        while (i < 4) {

            System.out.println(arr[i]);
            i++;
        }

    }


}

위와 같은 식으로 말이죠....

에러의 원인은 arr의 java.lang.ArrayIndexOutOfBoundsException 으로 배열의 인덱스를 벗어나 생겼습니다. 

 

아래는 try와 catch를 이용해서  예외처리를 한 코드입니다.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String[] arr = {"홍길동", "이순신", "신사임당"};
        int i = 0;
        while (i < 4) {

            try{
                System.out.println(arr[i]);

            }catch (Exception e){
                System.out.println("배열의 참조 범위를 벗어났습니다.");
            }finally {
                System.out.println("예외 여부랑 상관없이 무조건 실행");
            }
            i++;
        }
        
    }


}

결과는 아래와 같이 나왔고 아까와 같은 빨간 줄의 오류코드가 뜨지 않을 것을 볼 수 있습니다.

 


 

이렇게 자주사용하는 예외처리를 스틱코드 플러그인와 함께 알아보았습니다.

빠르게 코딩을 하고 싶다면 스틱코드를 이용하는걸 추천합니다.

다른 포스팅으로 만나요~