Sobes.tech
Junior

როგორ ხორციელდება შეცდომების მართვა JSTL-ით?

sobes.tech AI

პასუხი AI-სგან

JSTL JSP გვერდებზე შეცდომების დამუშავებისთვის ტეგების ნაკრებია.

ძირითადი მექანიზმები:

  1. <c:catch> ტეგი: შეუძლია იჭეროს თავის სხეულში წარმოქმნილი გამონაკლისები.

    • var ატრიბუტი მიუთითებს ცვლადის სახელწოდებას, რომელშიც შეინახება დაჭერილი გამონაკლისი (ტიპი java.lang.Throwable).
    • თუ გამონაკლისი წარმოიქმნება, ცვლადი null არ იქნება.
    <%-- `c:catch` გამოყენების მაგალითი --%>
    <c:catch var="exception">
        <%-- კოდი, რომელიც შეიძლება გამოიწვიოს შეცდომა --%>
        <% int divisionByZero = 10 / 0; %>
    </c:catch>
    
    <c:if test="${not empty exception}">
        <%-- შეცდომის შესახებ ინფორმაციის გამოტანა --%>
        <p>შეცდომა მოხდა: ${exception.message}</p>
    </c:if>
    
  2. შეცდომის გვერდები (Error Pages): შესაძლებელია კონფიგურაცია განახორციელოთ კონკრეტული ტიპის გამონაკლისებისთვის ან ყველა გამონაკლისისთვის.

    <!-- შეცდომის გვერდის კონფიგურაცია web.xml-ში -->
    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/errorPage.jsp</location>
    </error-page>
    
    <error-page>
        <error-code>404</error-code>
        <location>/notFound.jsp</location>
    </error-page>
    
    • შეცდომის გვერდზე შესაძლებელია გამოიყენოთ JSTL ტეგები, მაგალითად, გამონაკლისის შესახებ ინფორმაციის გამოსატანად, რომელიც ხელმისაწვდომია exception ცვლადის მეშვეობით.

ტესტის სია:

მექანიზმი დანიშნულება მოქმედების სფერო
<c:catch> გამონაკლისების დაჭერა JSP კოდში JSP გვერდის ნაწილი
შეცდომის გვერდები ცენტრალიზებული გამონაკლისებისა და შეცდომის კოდის მართვა ყველა JSP გვერდი პროგრამაში

ამ მეთოდების კომბინაცია უზრუნველყოფს მოქნილ და საიმედო შეცდომების დამუშავებას ვებ-პროგრამებში. <c:catch> შესაფერისია მოსალოდნელი გამონაკლისების ადგილობრივად დამუშავებისთვის, ხოლო შეცდომის გვერდები — არაპროგნოზირებადი სიტუაციების გლობალურად დამუშავებისთვის.