JSP'de İstisna İşleme

⚡ Akıllı Özet

JSP'de istisna yönetimi, kod yürütülmesi sırasında oluşan hataları yönetir; bu, aşağıdakilere benzerdir: Java try-catch blokları. İstisnalar üç türe ayrılır: kontrol edilen, çalışma zamanı ve hata. JSP sayfaları, istisnaları yönlendirmek ve görüntülemek için errorPage ve isErrorPage özniteliklerini kullanır.

  • ⚠️ Tanımlanan İstisna: JSP yürütülmesi sırasında oluşan bir hata, şu şekilde ele alınır: Java try-catch.
  • 🗂️ Üç Tip: Kontrol edilen, çalışma zamanı ve hata istisnaları.
  • 🧾 Kontrol: FileNotFoundException, IOException ve SQLException istisnaları mutlaka ele alınmalıdır.
  • 🧨 Süre: ArrayIndexOutOfBounds, ArithmeticException ve NullPointerException.
  • 🛟 hata sayfası / hata sayfası mı: Hataları, istisna yığın izini yazdıran bir sayfaya yönlendirin. trace.

JSP'de İstisna İşleme

JSP'de İstisna Nedir?

İstisnalar JSP'de kodda geliştiriciden kaynaklanan bir hata veya sistemden kaynaklanan dahili bir hata olduğunda meydana gelir. JSP'deki istisna yönetimi, JSP'dekiyle aynıdır. Java Try Catch bloklarını kullanarak istisnaları yönettiğimiz yer. Farklı JavaJSP'de kodda hata olmadığında da istisnalar vardır.

JSP'deki İstisna Türleri

JSP'deki istisnalar üç türdendir:

  1. Kontrol Edilen İstisna
  2. Çalışma zamanı istisnası
  3. Hata İstisnası

Kontrol Edilen İstisnalar

Genellikle bir kullanıcı hatasıdır veya geliştirici tarafından görülmeyen sorunlara kontrol edilen istisnalar denir. Bazı Kontrol edilen istisna örnekleri şunlardır:

  1. FileNotFoundException: Bu, kontrol edilen bir istisnadır (dosya diskte bulunmadığında dosyayı bulmaya çalışır).
  2. GÇ İstisnası: Bu ayrıca, bir dosyanın okunması veya yazılması sırasında herhangi bir istisna meydana gelirse, IO istisnası ortaya çıkarsa, kontrol edilen istisnadır.
  3. SQLİstisnası: Bu, dosya bağlandığında da kontrol edilen bir istisnadır. SQL veritabanı ve SQL veritabanının bağlantısıyla ilgili bir sorun var, ardından SQLException ortaya çıkıyor

Çalışma Zamanı İstisnaları

Çalışma zamanı istisnaları programcı tarafından önlenebilecek olanlardır. Derleme sırasında göz ardı edilirler. Bazı Çalışma zamanı istisna örnekleri şunlardır:

  1. ArrayIndexOutOfBoundsİstisna: Bu, dizi boyutunun belirtilen değeri aştığı durumlarda ortaya çıkan bir çalışma zamanı istisnasıdır. elemanları.
  2. Aritmetik İstisna: Bu aynı zamanda normal koşullar altında izin verilmeyen herhangi bir matematiksel işlemin olduğu çalışma zamanı istisnasıdır; örneğin bir sayıyı 0'a bölmek bir istisna oluşturacaktır.
  3. NullPointer İstisnası: Bu aynı zamanda bir değişkene veya nesneye erişmeye çalıştığımızda null olduğunda ortaya çıkan bir çalışma zamanı istisnasıdır. Bu çok yaygın bir istisnadır.

Hatalar:

Sorun, kullanıcı veya programcının kontrolünden kaynaklanır. Yığın taşarsa, hata oluşabilir. Hatanın bazı örnekleri aşağıda listelenmiştir:

  1. Hata: Bu hata, bir uygulamanın yakalayamayacağı ciddi sorunları gösteren, atılabilir hatanın bir alt sınıfıdır.
  2. Örnekleme Hatası: Bu hata, bir nesneyi başlatmaya çalıştığımızda ortaya çıkar ve nesne bunu başaramaz.
  3. İç hata: Bu hata, JVM'den bir hata oluştuğunda ortaya çıkar; Java Sanal makine.

Hata İstisnaları

Bu, throwable sınıfının bir örneğidir ve hata sayfalarında kullanılır. Throwable sınıfının bazı yöntemleri şunlardır:

  • Genel Dize getMessage() – istisnanın mesajını döndürür.
  • Genel hata fırlatılabilir getCause() – istisnanın nedenini döndürür
  • Herkese açık printStackTrace() – yığın izini döndürürtracistisnanın e'si.

JSP'de İstisna Nasıl Ele Alınır?

JSP'de istisnanın nasıl ele alınacağına dair bir örnek:

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>

Kodun açıklaması:

Exception_example.jsp

Code Çizgi 1: Burada hata sayfasını, hata yönlendirileceği zaman kullanılacak guru_error.jsp olarak ayarlıyoruz.

Code Çizgi 15: bir num değişkeni alıyoruz ve onu 10'a ayarlıyoruz ve num 10 ise bir koşulu kontrol ediyoruz, ardından Hata Durumu mesajıyla bir Çalışma Zamanı İstisnası atıyoruz.

Guru_error.jsp

Code Çizgi 1: Burada isErrorPage özelliğini true olarak ayarlıyoruz.

Code Çizgi 12: Exception_example.jsp dosyasında throw nesnesi kullanılarak bir istisna oluşturuldu ve bu istisna, IsErrorPage özniteliği true olarak işaretlendiği için burada gösterilecektir. İstisna nesnesini (bu, JSP tarafından istisna verilerine erişilmesini sağlayan bir nesnedir) kullanarak yığın izini yazdırmaya çalışıyoruz.tracexception_example.jsp dosyasında oluşan hatanın bir örneği.

Yukarıdaki kodu çalıştırdığınızda aşağıdaki çıktıyı alırsınız:

JSP'de İstisnaları İşle

Çıktı:

Çalışma zamanı istisnası fırlatma nesnesi kullanılarak exception_example.jsp'den fırlatılan bir istisna oluştu ve yukarıdaki kodu elde ettik. Ayrıca guru_error.jsp de buradan çağrılıyor. Guru Bu dosyada bir hata oluştu.

SSS

JSP istisnaları; denetlenen istisnalar (FileNotFoundException, IOException, SQLException gibi), çalışma zamanı istisnaları (ArrayIndexOutOfBounds, ArithmeticException, NullPointerException gibi) ve hatalar (yığın taşması ve dahili JVM hataları gibi) olmak üzere üç türdedir.

`errorPage` özniteliği, bir istisnanın yönlendirilmesi gereken sayfayı belirtir. Hedef sayfada `true` olarak ayarlanan `isErrorPage` özniteliği, istisna örtük nesnesine erişmesine ve hatayı görüntülemesine olanak tanır.

İstisna örtük nesnesi, yalnızca hata sayfalarında (isErrorPage=true) kullanılabilen bir Throwable örneğidir. getMessage(), getCause() ve printStack gibi yöntemler sunar.TracHatayı bildirmek için e() fonksiyonunu kullanın.

Yapay zeka yığınları okuyabilir. tracÖrneğin, arızalı hattı tespit edin, temel nedeni sade bir dille açıklayın ve bir çözüm önerin.ping Geliştiriciler, test ve kod incelemesi sırasında JSP hatalarını daha hızlı çözebilirler.

Evet. Yapay zeka, try-catch bloklarının veya bir errorPage'in nereye ekleneceğini önerebilir, yeniden kullanılabilir bir hata sayfası oluşturabilir ve ele alınmayan denetlenen istisnaları işaretleyerek JSP uygulamalarının sağlamlığını artırabilir.

Bu yazıyı şu şekilde özetleyin: