JSP의 예외 처리

⚡ 스마트 요약

JSP의 예외 처리는 코드 실행 중에 발생하는 오류를 관리합니다. Java try-catch 블록. 예외는 검사 예외, 런타임 예외, 오류 예외의 세 가지 유형으로 나뉩니다. JSP 페이지는 errorPage 및 isErrorPage 속성을 사용하여 예외를 리디렉션하고 표시합니다.

  • ⚠️ 예외 정의됨: JSP 실행 중 발생한 오류는 다음과 같이 처리됩니다. Java 트라이-캐치.
  • 🗂️ 세 가지 유형: 검사 예외, 런타임 예외 및 오류 예외.
  • 🧾 확인됨: FileNotFoundException, IOException 및 SQLException은 반드시 처리해야 합니다.
  • 🧨 런타임 : ArrayIndexOutOfBounds, ArithmeticException 및 NullPointerException.
  • 🛟 errorPage / isErrorPage: 예외 스택을 출력하는 페이지로 오류를 리디렉션합니다. trace.

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() – 예외 메시지를 반환합니다.
  • 공개 throwable getCause() – 예외의 원인을 반환합니다.
  • 공개 printStackTrac이자형() – 스택을 반환합니다trac예외의 e.

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

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

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

Guru_error.jsp

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

Code 12 라인 : 예외는 exception_example.jsp 파일에서 throw 객체를 사용하여 발생했으며, IsErrorPage 속성이 true로 설정되어 있으므로 해당 예외가 여기에 표시됩니다. 예외 객체(JSP에서 예외 데이터에 접근할 수 있도록 하는 객체)를 사용하여 스택 트레이스를 출력하려고 합니다.tracexception_example.jsp에서 발생한 오류의 일부입니다.

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

JSP에서 예외 처리

출력:

예외가 발생했으며, 이는 exception_example.jsp에서 런타임 예외의 throw 객체를 사용하여 발생했고, 그 결과 위 코드가 출력되었습니다. 또한 guru_error.jsp가 호출되었는데, Guru 이 파일에서 예외가 발생했습니다.

자주 묻는 질문

JSP 예외에는 검사 예외(예: FileNotFoundException, IOException, SQLException), 런타임 예외(예: ArrayIndexOutOfBounds, ArithmeticException, NullPointerException) 및 오류(예: 스택 오버플로 및 내부 JVM 오류)가 있습니다.

errorPage 속성은 예외가 발생했을 때 리디렉션될 페이지의 이름을 지정합니다. 대상 페이지에서 isErrorPage 속성을 true로 설정하면 해당 페이지에서 예외의 암시적 객체에 접근하여 오류를 표시할 수 있습니다.

예외를 암묵적으로 반환하는 객체는 오류 페이지(isErrorPage=true)에서만 사용 가능한 Throwable 인스턴스입니다. 이 객체는 getMessage(), getCause(), printStack과 같은 메서드를 제공합니다.Trace()를 호출하여 오류를 보고합니다.

AI는 스택을 읽을 수 있습니다. trac즉, 문제가 발생하는 부분을 정확히 파악하고, 근본 원인을 이해하기 쉬운 말로 설명하고, 해결책을 제시하는 것입니다.ping 개발자는 테스트 및 코드 검토 중에 JSP 예외를 더 빠르게 해결할 수 있습니다.

네. AI는 try-catch 블록이나 errorPage를 추가해야 할 위치를 추천하고, 재사용 가능한 오류 페이지를 생성하며, 처리되지 않은 검사 예외를 표시하여 JSP 애플리케이션의 안정성을 향상시킬 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.