SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 4 - NGOẠI LỆ

18 334 0
SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 4 - NGOẠI LỆ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH JAVA Chương NGOẠI LỆ GV: Võ Hồng Phương Dung Nội dung  Định nghĩa ngoại lệ (Exception)  Bắt giữ & xử lý ngoại lệ  Chuyển tiếp (Ném) ngoại lệ  Định nghĩa lớp Ngoại lệ 2/25 Định nghĩa ngoại lệ  Ngoại lệ (Exception): kiện xuất trình thực thi chương trình gây phá vỡ dịng thực thi chương trình  Ví dụ: đọc file khơng tồn  Lớp Exception  • Là lớp cha cho tất lớp thể ngoại lệ.  • phương thức thông dụng lớp Exception.  toString(): Trả chuỗi mô tả Ngoại lệ.   printStackTrace(): In thông tin chi tiết Ngoại lệ, method gây ngoại lệ, dòng code xảy ngoại lệ.   3/25 Định nghĩa ngoại lệ 4/25 Định nghĩa ngoại lệ     ArithmeticException: xảy Chương trình có lỗi đại số VD: Chia cho 0.  NumberFormatException: Xảy thực chuyển đổi chuỗi không hợp lệ sang kiểu số.  NullPointerException: Xảy đối tượng chưa khởi tạo mà truy cập đến thành phần đối tượng đó.  ArrayIndexOutOfBoundException: Xảy truy cập đến phần tử mảng có số bé khơng hoặc lớn kích thước mảng.  5/25 Bắt giữ & xử lý ngoại lệ  Cú pháp try { // Khối code gây ngoại lệ } catch(ExceptionType name) { // Khối code xử lý ngoại lệ } … catch(ExceptionType name) {…} finally{ // Khối code giải phóng tài nguyên } 6/25 Bắt giữ & xử lý ngoại lệ  Khối try kèm khối catch finally  Có thể có nhiều khối catch sau khối try  Khối finally thực  Nhiều khối try … catch lồng 7/25 Bắt giữ & xử lý ngoại lệ public class MyException { public static void main(String args[]){ calculate(9,0); } public static void calculate(int num, int i){ try{ System.out.println(num/i); }catch(ArithmeticException e){ System.out.println("error"); } finally{ System.out.println("finished");} } } 8/25 Bắt giữ & xử lý ngoại lệ 9/25 Chuyển tiếp ngoại lệ    Ngoại lệ chuyển đến phương thức gọi, quản lý ngoại lệ tìm thấy, kết thúc throw: Dùng để ném ngoại lệ mà không xử lý phương thức.  throws: Dùng đế khai báo danh sách ngoại lệ mà phương thức ném 10/25 Chuyển tiếp ngoại lệ public class MyException { public static void main(String args[]){ try{ calculate(9,0); }catch(ArithmeticException e){ System.out.println("error"); }finally{ System.out.println("finished"); } } public static void calculate(int num, int i){ if(i==0) throw new ArithmeticException(); else System.out.println(num/i); } } 11/25 Chuyển tiếp ngoại lệ public class MyException { public static void main(String args[]){ try{ calculate(9,0); }catch(ArithmeticException e){ System.out.println("error"); }finally{ System.out.println("finished"); } } public static void calculate(int num, int i) throws ArithmeticException{ System.out.println(num/i); } } 12/25 Chuyển tiếp ngoại lệ void writeList() throws IOException, ArrayIndexOutOfBoundsException { PrintWriter out = new PrintWriter(new FileWriter("OutFile.txt")); for (int i = 0; i < SIZE; i++) { out.println("Value at: " + i + " = " + vector.elementAt(i)); } out.close(); } 13/25 Các loại Exception  Có loại ngoại lệ • Cần kiểm tra: trình biên dịch ln kiểm tra xem có viết code xử lý ngoại lệ khơng  Ví dụ: IOException • Khơng cần kiểm tra  Ngoại lệ runtime (Runtime exception) 14/25 Các loại Exception Ví dụ ngoại lệ cần kiểm tra InputStreamReader reader; BufferedReader bufReader; reader = new InputStreamReader(System.in); bufReader = new BufferedReader(reader); try { String s = bufReader.readLine(); } catch (IOException e) { }  15/25 Định nghĩa lớp ngoại lệ  Có thể tạo lớp xử lý ngoai lệ riêng cách thừa kế từ lớp Exception từ lớp Exception  Cú pháp class MyException extends Exception  {    } 16/25 Đinh nghĩa lớp ngoại lệ Ví dụ public class MyException extends Exception { public MyException () { } public MyException (String msg) { super (msg); } }  17/25 Thảo luận  Ưu điểm phương pháp xử lý ngoại lệ gì?  Khi nên sử dụng phương pháp • Bắt xử lý ngoại lệ chỗ: try … catch • Ném ngoại lệ lên lớp trên: throw,throws 18/25 ... nghĩa ngoại lệ (Exception)  Bắt giữ & xử lý ngoại lệ  Chuyển tiếp (Ném) ngoại lệ  Định nghĩa lớp Ngoại lệ 2/25 Định nghĩa ngoại lệ  Ngoại lệ (Exception): kiện xuất trình thực thi chương trình. .. In thông tin chi tiết Ngoại lệ, method gây ngoại lệ, dòng code xảy ngoại lệ.    3/25 Định nghĩa ngoại lệ 4/ 25 Định nghĩa ngoại lệ     ArithmeticException: xảy Chương trình có lỗi đại số VD:... System.out.println("finished");} } } 8/25 Bắt giữ & xử lý ngoại lệ 9/25 Chuyển tiếp ngoại lệ    Ngoại lệ chuyển đến phương thức gọi, quản lý ngoại lệ tìm thấy, kết thúc throw: Dùng để ném ngoại lệ mà không xử lý phương thức. 

Ngày đăng: 29/06/2017, 22:56

Từ khóa liên quan

Mục lục

  • LẬP TRÌNH JAVA

  • Nội dung

  • Định nghĩa ngoại lệ

  • Slide 4

  • Slide 5

  • Bắt giữ & xử lý ngoại lệ

  • Slide 7

  • Slide 8

  • Slide 9

  • Chuyển tiếp ngoại lệ

  • Slide 11

  • Slide 12

  • Slide 13

  • Các loại Exception

  • Slide 15

  • Định nghĩa lớp ngoại lệ

  • Đinh nghĩa lớp ngoại lệ

  • PowerPoint Presentation

Tài liệu cùng người dùng

Tài liệu liên quan