VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test
Java Cơ Bản Các Khái Niệm Java OOPs Java String

Xử lý Ngoại Lệ

Exception là gì? Khối lệnh try-catch Đa khối lệnh catch Khối lệnh try lồng nhau Khối lệnh finally Từ khóa throw Từ khóa throws Throw với Throws Final vs Finally vs Finalize Exception Handling với Overriding phương thức Tùy chỉnh Exception Truyền Exception cho caller
Java AWT Java Swing Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Câu Hỏi Phỏng Vấn Java

Truyền Exception cho caller


Exception tùy chỉnh trong java
ava inner class – lớp lồng nhau trong java

Một ngoại lệ đầu tiên được ném ra từ phía trên của call stack (stack chứa các phương thức gọi đến nhau) và nếu nó không được catch, nó sẽ giảm xuống ngăn xếp đến phương thức trước, nếu không được catch ở đó, ngoại lệ lại giảm xuống phương thức trước, và cứ như vậy cho đến khi chúng được catch hoặc cho đến khi chúng chạm đến đáy của stack.Điều này được gọi là truyền ngoại lệ (truyền exception trong java).

Quy tắc: Theo mặc định, Các ngoại lệ unchecked được chuyển tiếp trong chuỗi gọi (được truyền).

Ví dụ về tryền exception trong java

class TestExceptionPropagation1 {
    void m() {
        int data = 50 / 0;
    }

    void n() {
        m();
    }

    void p() {
        try {
            n();
        } catch (Exception e) {
            System.out.println("exception handled");
        }
    }

    public static void main(String args[]) {
        TestExceptionPropagation1 obj = new TestExceptionPropagation1();
        obj.p();
        System.out.println("normal flow...");
    }
}

Output:

Output:exception handled
       normal flow...
truyền ngoại lệ cho caller trong java

Trong ví dụ về ngoại lệ trên xảy ra trong phương thức m() nơi nó không được xử lý, do đó nó được truyền đến phương thức n() nhưng nó không được xử lý, một lần nữa nó được truyền đến phương thức p() trong đó ngoại lệ được xử lý.

Ngoại lệ có thể được xử lý trong bất kỳ phương thức nào trong call stack hoặc trong phương thức main(), phương thức p(), phương thức n() hoặc m().

Quy tắc: Theo mặc định, Các ngoại lệ checked không được chuyển tiếp trong các hàm.

Chương trình dưới đây mô tả ngoại lệ đã checked không được truyền

class TestExceptionPropagation2 {
    void m() {
        throw new java.io.IOException("device error");// checked exception
    }

    void n() {
        m();
    }

    void p() {
        try {
            n();
        } catch (Exception e) {
            System.out.println("exception handeled");
        }
    }

    public static void main(String args[]) {
        TestExceptionPropagation2 obj = new TestExceptionPropagation2();
        obj.p();
        System.out.println("normal flow");
    }
}

Output:

Output:Compile Time Error

Exception tùy chỉnh trong java
ava inner class – lớp lồng nhau trong java

Recent Updates

Đối tượng exception trong JSPXử lý ngoại lệ trong javaĐa khối lệnh catch trong javaException handling với overriding phương thức trong javaException tùy chỉnh trong javaKhối lệnh finally trong javaKhối lệnh try lồng nhau trong javaKhối lệnh try-catch trong javaSự khác nhau giữa final, finally và finalizeSự khác nhau giữa throw và throws trong javaTruyền Exception cho callerTừ khóa throw trong java

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml