JSP Exception là gì?
Các trường hợp ngoại lệ xảy ra khi có lỗi trong mã do nhà phát triển hoặc lỗi nội bộ từ hệ thống.
Xử lý ngoại lệ trong JSP giống như trong java, nơi chúng tôi quản lý các ngoại lệ bằng cách sử dụng khối try catch.
Không giống như Java, cũng có những ngoại lệ trong JSP khi có lỗi trong mã.
Ngoại lệ có ba loại:
- Ngoại lệ được Kiểm tra
- RuntimeException
- Lỗi ngoại lệ
Đã kiểm tra các trường hợp ngoại lệ
Thông thường, đó là lỗi người dùng hoặc các vấn đề mà nhà phát triển không nhìn thấy được gọi là ngoại lệ đã kiểm tra.
Một số ví dụ là:
- FileNotFoundException: Đây là một ngoại lệ đã được kiểm tra (nơi nó cố gắng tìm một tệp khi tệp không được tìm thấy trên đĩa).
- IO Exception: Đây cũng là ngoại lệ được kiểm tra nếu có bất kỳ ngoại lệ nào xảy ra trong quá trình đọc hoặc ghi tệp thì ngoại lệ IO được nêu ra.
- SQLException: Đây cũng là một ngoại lệ được kiểm tra khi tệp được kết nối với cơ sở dữ liệu SQL và có sự cố với kết nối của cơ sở dữ liệu SQL thì SQLException được nâng lên
Ngoại lệ thời gian chạy
Các ngoại lệ thời gian chạy là những ngoại lệ mà lập trình viên có thể tránh được. Chúng được bỏ qua tại thời điểm biên dịch.
Một số ví dụ là:
- ArrayIndexOutOfBoundsException: Đây là một ngoại lệ thời gian chạy khi kích thước mảng vượt quá các phần tử.
- ArithmeticException: Đây cũng là một ngoại lệ thời gian chạy khi có bất kỳ phép toán nào không được phép trong điều kiện bình thường, ví dụ: chia một số cho 0 sẽ cho một ngoại lệ.
- NullPointer Exception: Đây cũng là một ngoại lệ thời gian chạy được đưa ra khi một biến hoặc một đối tượng rỗng khi chúng ta cố gắng truy cập vào cùng một. Đây là một ngoại lệ rất phổ biến.
Các lỗi:
Vấn đề phát sinh do sự kiểm soát của người dùng hoặc lập trình viên. Nếu ngăn xếp bị tràn, thì lỗi có thể xảy ra.
Một số ví dụ về lỗi được liệt kê bên dưới:
- Lỗi: Lỗi này là một lớp con của hàm có thể ném được, chỉ ra các vấn đề nghiêm trọng mà ứng dụng không thể bắt được.
- Lỗi khởi tạo: Lỗi này xảy ra khi chúng tôi cố gắng khởi tạo một đối tượng và nó không thực hiện được điều đó.
- Lỗi nội bộ: Lỗi này xảy ra khi có lỗi xảy ra từ JVM tức là Máy ảo Java.
Lỗi ngoại lệ
Nó là một thể hiện của lớp có thể ném và nó được sử dụng trong các trang lỗi.
Một số phương thức của lớp có thể ném là:
- Public String getMessage () - trả về thông báo của ngoại lệ.
- Public throwablegetCause () - trả về nguyên nhân của ngoại lệ
- Public printStackTrace () - trả về stacktrace của ngoại lệ.
Thí dụ
Exception_example.jsp
<% @ trang errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Exception Guru JSP1 <%int num = 10;if (num == 10){ném mới RuntimeException ("Điều kiện lỗi !!!");}%>
Guru_error.jsp
<% @ trang isErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Trang ngoại lệ của Guru Guru Exception đã xảy ra
<% exception.printStackTrace (response.getWriter ()); %>
Giải thích mã:
Exception_example.jsp
Dòng mã 1: Ở đây chúng tôi đang đặt trang lỗi thành guru_error.jsp, trang này sẽ được sử dụng khi lỗi sẽ được chuyển hướng.
Dòng mã 15: chúng tôi đang lấy một biến num và đặt nó thành 10 và kiểm tra một điều kiện nếu num là 10 sau đó đưa ra một Ngoại lệ Thời gian chạy với thông báo là Điều kiện Lỗi.
Guru_error.jsp
Dòng mã 1: Ở đây chúng tôi đang đặt isErrorPageattribute thành true.
Dòng mã 12: Ngoại lệ đã được nêu ra trong exception_example.jsp bằng cách sử dụng đối tượng ném và ngoại lệ đó sẽ được hiển thị ở đây vì thuộc tính IsErrorPage được đánh dấu là true. Sử dụng ngoại lệ (đây là một đối tượng cho phép đối tượng JSP.
Khi bạn thực thi đoạn mã trên, bạn nhận được kết quả sau:
Đầu ra:
Ngoại lệ đã được đưa ra được ném từ exception_example.jsp bằng cách sử dụng đối tượng ném của ngoại lệ thời gian chạy và chúng tôi nhận được đoạn mã trên.
Ngoài ra guru_error.jsp được gọi từ đó Guru Exception đã xảy ra từ tệp này.
Tóm lược:
Ở đây chúng ta đã tìm hiểu về các ngoại lệ trong hướng dẫn này và lấy một ví dụ về ngoại lệ thời gian chạy trong hướng dẫn.