Web programing/JSP

JSP. error 에러 예외 처리

sosal 2014. 7. 24. 01:08
반응형

/*

 * http://sosal.kr/

 * made by so_Sal

 */


JSP 페이지에서 예외 처리하는방법

1. 예외 발생시 에러를 처리할 페이지를 지정하여, 그 페이지로 이동하게 한다. (page 지시어)
2. 페이지 내에서 Try / Catch 구문을 이용하여 에러를 처리한다.




1. Page 지시어를 이용한 예외처리

/*
 * page명령어로 오류가 발생하였을 때 이동할 페이지를 설정한다.
 * 1-1에서 오류를 발생시킨다.
 */

====================== 예제 1-1 ======================
<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page errorPage="error.jsp" %>
<html>
<%
    String value = session.getAttribute("sosal").toString();
%>
</html>
====================== 예제 1-1 ======================

====================== 예제 1-2 ======================
<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page isErrorPage="true" %>
<html>
<body>
<%= "Error 가 발생하였습니다." %>
<%= exception.toString() %>
</body>
<html>

====================== 예제 1-2 ======================



2. Try / Catch / Finally 구문을 이용한 예외처리


Try 구문 안에 실행을 원하는 코드를 넣고, 에러가 발생할 수 있는 예외사항을 예측하여
발생한 에러를 catch 구문 안에서 처리하는 방법이다.
Finally는 제어가 try 블록을 빠져 나간 다음, 실행하는 부분이다.
(주로 복구, 또는 마무리 부분이 들어간다.)

try{
        //예외가 발생할 수 있는 문장//
    }
catch(ExceptionType identifier){
        //예외가 발생했을 때 실행하는 문장//
    }
finally{
        //예외와 상관없이 반드시 실행문장//
        //finally는 선택적인 문법이다. ( 쓰지 않아도 된다. ) //

    }


1.Try 안에 있는 문법을 실행한다.
2.Try 블록내 실행되는 문장들 중 예외가 발생하면 수행을 중단하고,
    예외와 일치하는 catch 블록의 내용을 실행한다.
3. finally 블록은 선택적으로 작성하는 부분으로, 존재하면 반드시 실행되는 부분이다.

예외클래스                        :      의미
ArithmeticException                 :   수학 연산 실행 중 오류 발생 (0으로 나눈다던가...)
NullPointerException                :   정의되어있지 않은 객체에 접근 시 발생
NegativeArraysizeException     :   음수 값의 크기로 배열을 생성할 때
ArrayIndexOutBoundsException :   배열의 범위를 초과하여 인덱스로 엑세스 할 때