Chương 3 LUỒNG DỮ LIỆU
lượt xem 10
download
Trình biên dịch không yêu cầu phải bắt các biệt lệ khi nó xảy ra. Không cần khối try-catch Các biệt lệ này có thể xảy ra bất cứ thời điểm nào khi thi hành chương trình. Thông thường là những lỗi nghiêm trọng mà chương trình không thể kiểm soát Xử dụng các mệnh đề điều kiện để xử lý sẽ tốt hơn. Ví dụ: NullPointerException,IndexOutOfBoundsException, ArithmeticException…
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 3 LUỒNG DỮ LIỆU
- Chương 3 LUỒNG DỮ LIỆU
- Nội dung • Xử lý biệt lệ • Luồng dữ liệu • Thao tác trên tập tin
- Exception Handling Xử lý mỗi sử dụng cơ chế biệt lệ trong Java
- Các cách xử lý lỗi • Sử dụng các mệnh đề điều kiện kết hợp với các giá trị cờ. • Sử dụng cơ chế xử lý biệt lệ.
- Ví dụ: Lớp Inventory public class Inventory { public final int MIN = 0; public final int MAX = 100; public final int CRITICAL = 10; public boolean addToInventory (int amount) { int temp; temp = stockLevel + amount; if (temp > MAX) { System.out.print("Adding " + amount + " item will cause stock "); System.out.println("to become greater than " + MAX + " units (overstock)"); return false; }
- Ví dụ: Lớp Inventory (2) else { stockLevel = stockLevel + amount; return true; } } // End of method addToInventory :
- Các vấn đề đối với cách tiếp cận điều kiện/cờ reference1.method1 () if (reference2.method2() == false) return false; reference2.method2 () if (store.addToInventory(amt) == false) return false; store.addToInventory (int amt) if (temp > MAX) return false;
- Các vấn đề đối với cách tiếp cận điều kiện/cờ reference1.method1 () Vấn đề 1: Phương thức if (reference2.method2() == false) chủ có thể quên kiểm tra return false; điều kiện trả về reference2.method2 () if (store.addToInventory(amt) == false) return false; store.addToInventory (int amt) if (temp > MAX) return false;
- Các vấn đề đối với cách tiếp cận điều kiện/cờ reference1.method1 () if (reference2.method2() == false) return false; reference2.method2 () if (store.addToInventory(amt) == false) return false; store.addToInventory (int amt) Vấn đề 2: Phải sử if (temp > MAX) dụng 1 loạt các phép return false; kiểm tra giá trị cờ trả về
- Các vấn đề đối với cách tiếp cận điều kiện/cờ reference1.method1 () if (reference2.method2() == false) return false; reference.method2 () if (store.addToInventory(amt) == false) return false; ?? ?? store.addToInventory (int amt) Vấn đề 3: Phương thức if (temp > MAX) chủ có thể không biết return false; cách xử lý khi lỗi xảy ra
- Các cách xử lý lỗi • Sử dụng các mệnh đề điều kiện kết hợp với các giá trị cờ. • Sử dụng cơ chế xử lý biệt lệ.
- Xử lý biệt lệ • Cú pháp: try { // Code that may cause an error/exception to occur } catch (ExceptionType identifier) { // Code to handle the exception }
- Xử lý biệt lệ: đọc dữ liệu từ bàn phím import java.io.*; class Driver { public static void main (String [] args) { BufferedReader stringInput; InputStreamReader characterInput; String s; int num; characterInput = new InputStreamReader(System.in); stringInput = new BufferedReader(characterInput);
- Xử lý biệt lệ: đọc dữ liệu từ bàn phím try { System.out.print("Type an integer: "); s = stringInput.readLine(); System.out.println("You typed in..." + s); num = Integer.parseInt (s); System.out.println("Converted to an integer..." + num); } catch (IOException e) { System.out.println(e); } catch (NumberFormatException e) { : : : } } }
- Xử lý biệt lệ: Biệt lệ xảy ra khi nào try { System.out.print("Type an integer: "); s = stringInput.readLine(); System.out.println("You typed in..." + s); num = Integer.parseInt (s); System.out.println("Converted to an integer..." + num); }
- Kết quả của phương thức readLine() try { System.out.print("Type an integer: "); s = stringInput.readLine(); Biệt lệ có thể xảy ra ở System.out.println("You typed in..." + s); đây num = Integer.parseInt (s); System.out.println("Converted to an integer..." + num); }
- Lớp BufferedReader http://java.sun.com/j2se/1.4.1/docs/api/java/io/BufferedReader.html public class BufferedReader { public BufferedReader (Reader in); public BufferedReader (Reader in, int sz); public String readLine () throws IOException; : }
- Kết quả của phương thức parseInt () try { System.out.print("Type an integer: "); s = stringInput.readLine(); System.out.println("You typed in..." + s); Biệt lệ có thể xảy ra ở num = Integer.parseInt (s); đây System.out.println("Converted to an integer..." + num); }
- Lớp Integer • http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Integer.html public class Integer { public Integer (int value); public Integer (String s) throws NumberFormatException; : : public static int parseInt (String s) throws NumberFormatException; : : }
- Cơ chế xử lý biệt lệ try { System.out.print("Type an integer: "); s = stringInput.readLine(); System.out.println("You typed in..." + s); num = Integer.parseInt (s); System.out.println("Converted to an integer..." + num); } catch (IOException e) { System.out.println(e); } catch (NumberFormatException e) { : : : } } }
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phân tích dữ liệu với SPSS: Chương 3 – Nguyễn Văn Vũ An (ĐH Trà Vinh)
74 p | 236 | 64
-
Bài giảng Thiết kế hệ thống thông tin: Chương 3 - ThS. Lê Văn Tấn
63 p | 316 | 30
-
Khai phá dữ liệu - Chương 3: Dãy phổ biến
37 p | 96 | 18
-
Bài giảng Lập trình quản lý - Chương 3: Thiết kế phần mềm quản lý (Phần 2)
49 p | 29 | 13
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Lương Thị Ngọc Khánh
52 p | 123 | 11
-
Bài giảng Ngôn ngữ lập trình C - Chương 3: Hằng, biến và mảng
31 p | 119 | 11
-
Bài giảng Cơ sở dữ liệu: Chương I - ThS. Lương Thị Ngọc Khánh
25 p | 88 | 9
-
Bài giảng Matlab: Chương 3 - ĐHBK Hà Nội
112 p | 50 | 8
-
Bài giảng Phân tích và thiết kế hệ thống thông tin: Chương 3 (tt) - Trần thị Huế
29 p | 82 | 8
-
Bài giảng Công nghệ phần mềm: Chương 3 - Phạm Mạnh Cương
42 p | 82 | 6
-
Bài giảng Phân tích và thiết kế hệ thống: Chương 3.3
35 p | 98 | 5
-
Bài giảng Mạng máy tính: Chương 3 - ThS. Nguyễn Trung Dũng
25 p | 15 | 5
-
Bài giảng Lập trình mạng với Java - Chương 3: Các luồng vào ra
24 p | 42 | 4
-
Bài giảng Cấu trúc dữ liệu 1: Chương 3 - Lương Trần Hy Hiến
17 p | 70 | 4
-
So sánh một số chương trình tăng tốc copy
3 p | 82 | 4
-
Bài giảng Lập trình Java: Chương 3 - Huỳnh Ngọc Tín
24 p | 46 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.3: Mô hình quan hệ - Chuyển đổi mô hình ER thành mô hình quan hệ
23 p | 21 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn