본문 바로가기

BackEnd/JSP

[JSP 웹 프로그래밍] 예외 처리 3 (try-catch-finally 이용한 예외 처리)

728x90
반응형

1. try-catch-finally
   ▷ 자바의 예외 처리 구문으로 스크립틀릿 태그에 작성


   ▷ try 구문에는 예외가 발생할 수 있는 코드를 작성하고, catch 구문에는 오류가 발생할수 있는 예외 사항을 예측하여

       오류를 처리하는 코드를 작성
   ▷ finally 구문에는 try 구문이 실행된 후 실행할 코드를 작성하는데 이는 생략 가능

 

1. tryCatch.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exception</title>
</head>
<body>
	<form action="tryCatch_process.jsp" method="post">
		<p> 숫자1 : <input type="text" name="num1">
		<p> 숫자2 : <input type="text" name="num2">
		<input type="submit" value="전송">
	</form>
</body>
</html>​

 



2. tryCatch_process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exception</title>
</head>
<body>
<%
	try{
		String num1 = request.getParameter("num1");
		String num2 = request.getParameter("num2");
		int a = Integer.parseInt(num1);
		int b = Integer.parseInt(num2);
		int c = a / b;			
	} catch(NumberFormatException e){
		RequestDispatcher dispatcher = request.getRequestDispatcher("tryCatch_error.jsp");	
		dispatcher.forward(request, response);
	}
%>
</body>
</html>


숫자1, 2에 숫자들을 입력하면 빈 화면이 나타납니다.


3. tryCatch_error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exception</title>
</head>
<body>
	<p> 잘못된 데이터가 입력되었습니다.
	<p> <%=" 숫자1 : " + request.getParameter("num1") %>
	<p> <%=" 숫자2 : " + request.getParameter("num2") %>
</body>
</html>​


숫자 1, 2 중 하나라도 문자를 입력하게 되면 아래와 같이 오류 화면(tryCatch_error.jsp)이 나타나게 됩니다.

 

try-catch-finally 예외 처리를 이용하면 try를 통해 실행하고 예외가 발생하면 catch를 통해 예외처리를 합니다.

 

에러에 대해서 여러번 보고 분석하니 코드의 어떤 부분에서 문제가 발생할 수 있는지 짐작이 가능하네요!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형