JinSeong 2021. 10. 7. 18:04

01errorMain.jsp ์ฝ”๋“œ๋‚ด์šฉ

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="01errorPage.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
	out.flush(); //์—๋Ÿฌ ๋ฐœ์ƒ ์ „ ๋ฒ„ํผ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก
	String a = null;
	a.substring(1); //nullPointException
%>

</body>
</html>

๋””๋ ‰ํ‹ฐ๋ธŒ ๋ถ€๋ถ„์— errorPage="01errorPage.jsp" ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ 01errorPage.jsp๋Š” 01errorMain.jsp์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€์ด๋‹ค.

 

๊ธฐ๋ณธ์ ์œผ๋กœ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๊ณ  ์—๋ŸฌํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋ฒ„ํผ์— ์ฑ„์›Œ์„œ ์ „์†กํ•œ๋‹ค.

errorํŽ˜์ด์ง€๋ฅผ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๊ธฐ๋ณธerrorํŽ˜์ด์ง€(ํŒŒ๋ž€ํ™”๋ฉด) ๋Œ€์‹  ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์ด ๋ณผ๋งŒํ•œ ํŽ˜์ด์ง€๋ฅผ ๋Œ€์‹  ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

 

RunTimeException : ์‹คํ–‰์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์˜ ์ข…๋ฅ˜

  • ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋ฉฐ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์ ์œผ๋กœ๋‚˜ ์ธํ’‹ ๊ฐ’์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ, ํ˜น์€ ์˜๋„์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์žก์•„๋‚ด๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด
    ๋“ฑ์— ๋ถ€ํ•ฉํ•  ๋•Œ ๋ฐœ์ƒ(throw)๋˜๊ฒŒ ๋งŒ๋“ ๋‹ค.
  • NullPointerException
  • ArrayIndexOutOfBoundsException
  • ClassCastException : setAttribute ํ•  ๋•Œ ํƒ€์ž…์€ Object๋กœ ์ €์žฅ
    (์›๋ž˜ํƒ€์ž…)getAttribute = ํ˜•๋ณ€ํ™˜
  • ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ x javaํŒŒ์ผ๋ฌธ์ œ -> ์„œ๋ฒ„์ธก๋ฌธ์ œ -> 500

 

01errorPage.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isErrorPage="true"
    %>
<!--01errorMain์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์„ ๋•Œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€ -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- exception๊ฐ์ฒด๋Š” isErrorPage=true์ธ ํŽ˜์ด์ง€์—์„œ๋งŒ
	๋ฉ”์ธํŽ˜์ด์ง€์—์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์— ๋Œ€ํ•œ ์ •๋ณด
 -->
<%=exception.getClass().getTypeName()%> <hr>
<%=exception.getStackTrace() %> <hr>
<%=exception.getMessage() %> <hr>
</body>
</html>

๋””๋ ‰ํ‹ฐ๋ธŒ ๋ถ€๋ถ„์— isErrorPage="true" ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค. ์ด๊ฒƒ์€ ํ˜„์žฌ JSP ํŽ˜์ด์ง€๊ฐ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํŽ˜์ด์ง€๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ณ  exception ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋˜์–ด ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

 

 

01errorMain.jsp๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ฐœ์ƒ๋œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ํ‘œ์‹œ๋œ 01errorPage.jsp์˜ ํ™”๋ฉด