JSP의 예외 처리

JSP에서 예외란 무엇입니까?

예외 JSP에서는 개발자에 의해 코드에 오류가 있거나 시스템 내부 오류가 있을 때 발생합니다. JSP의 예외 처리는 JSP와 동일합니다. Java Try Catch 블록을 사용하여 예외를 관리합니다. 같지 않은 Java, 코드에 오류가 없는 경우에도 JSP에는 예외가 있습니다.

JSP의 예외 유형

JSP의 예외에는 세 가지 유형이 있습니다.

  1. 확인된 예외
  2. 런타임 예외
  3. 오류 예외

확인된 예외

일반적으로 개발자가 보지 못하는 사용자 오류나 문제를 체크된 예외라고 합니다. 체크된 예외의 몇 가지 예는 다음과 같습니다.

  1. FileNotFoundException: 확인된 예외입니다(디스크에서 파일을 찾을 수 없을 때 파일을 찾으려고 시도하는 경우).
  2. IO 예외: 파일을 읽거나 쓰는 동안 예외가 발생한 경우에도 검사 예외가 발생하며 IO 예외가 발생합니다.
  3. SQL예외: 이것은 파일이 연결될 때에도 확인된 예외입니다. SQL 데이터베이스이고 SQL 데이터베이스 연결에 문제가 있는 경우 SQLException이 발생합니다.

런타임 예외

런타임 예외는 프로그래머가 피할 수 있는 예외입니다. 컴파일 시 무시됩니다. 일부 런타임 예외 예는 다음과 같습니다.

  1. ArrayIndexOutOfBoundsException: 배열 크기가 다음을 초과하는 경우 런타임 예외입니다. 요소.
  2. 산술 예외: 이는 일반적인 조건에서 허용되지 않는 수학 연산이 있을 때의 런타임 예외입니다. 예를 들어, 숫자를 0으로 나누면 예외가 발생합니다.
  3. NullPointer 예외: 이는 변수나 객체에 액세스하려고 할 때 null인 경우 발생하는 런타임 예외이기도 합니다. 이는 매우 일반적인 예외입니다.

오류 :

문제는 사용자 또는 프로그래머의 제어로 인해 발생합니다. 스택 오버플로가 발생하면 오류가 발생할 수 있습니다. 오류의 몇 가지 예는 다음과 같습니다.

  1. 오류: 이 오류는 애플리케이션이 포착할 수 없는 심각한 문제를 나타내는 throwable의 하위 클래스입니다.
  2. 인스턴스화 오류: 이 오류는 객체를 인스턴스화하려고 시도했지만 실패했을 때 발생합니다.
  3. 내부 오류: JVM에서 에러가 발생했을 때 발생하는 에러입니다. Java 가상 기기.

오류 예외

throwable 클래스의 인스턴스이며 오류 페이지에서 사용됩니다. throwable 클래스의 일부 메서드는 다음과 같습니다.

  • 공개 문자열 getMessage() – 예외 메시지를 반환합니다.
  • 공개 throwablegetCause() – 예외의 원인을 반환합니다.
  • 공개 printStackTrace()– 예외의 스택 추적을 반환합니다.

JSP에서 예외를 처리하는 방법

다음은 JSP에서 예외를 처리하는 방법의 예입니다.

Exception_example.jsp

<%@ page errorPage="guru_error.jsp" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Exception Guru JSP1</title>
</head>
<body>
<% 
 int num = 10;
   if (num == 10)
   {
      throw new RuntimeException("Error condition!!!");
   }
 %>
   </body>
</html>

Guru_error.jsp

<%@ page isErrorPage="true" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Exception Page</title>
</head>
<body>
<p>Guru Exception has occurred</p>
<% exception.printStackTrace(response.getWriter()); %>
</body>
</html>

코드 설명:

Exception_example.jsp

코드 라인 1: 여기서는 오류가 리디렉션될 때 사용되는 guru_error.jsp에 오류 페이지를 설정하고 있습니다.

코드 라인 15: 변수 num을 가져와서 10으로 설정하고 num이 10이면 조건을 확인한 다음 오류 조건이라는 메시지와 함께 런타임 예외를 발생시킵니다.

Guru_error.jsp

코드 라인 1: 여기서는 isErrorPage 속성을 true로 설정합니다.

코드 라인 12: 예외는 throw 객체를 사용하여 예외_example.jsp에서 발생했으며 해당 예외는 IsErrorPage 속성이 true로 표시되어 여기에 표시됩니다. 예외(JSP에서 예외 데이터에 액세스할 수 있도록 허용하는 개체) 개체를 사용하여 예외_example.jsp에서 발생한 오류의 스택 추적을 인쇄하려고 합니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

JSP에서 예외 처리

출력:

예외는 throw 객체를 사용하여 exception_example.jsp에서 throw된 런타임 예외에서 발생했고 위의 코드를 얻습니다. 또한 guru_error.jsp가 호출되어 이 파일에서 Guru Exception이 발생했습니다.

제품 개요

  • JSP의 예외는 개발자에 의해 코드에 오류가 있거나 시스템 내부 오류가 있을 때 발생합니다.
  • JSP의 예외에는 검사 예외, 런타임 예외, 오류 예외의 세 가지 유형이 있습니다.
  • 확인된 예외는 일반적으로 사용자 오류이거나 개발자가 볼 수 없는 문제를 확인된 예외라고 합니다.
  • 런타임 예외는 프로그래머가 피할 수 있었던 예외입니다. 컴파일 시에는 무시됩니다.
  • 오류 예외는 throwable 클래스의 인스턴스이며 오류 페이지에서 사용됩니다.