Bài giảng Lập trình Java cơ bản: Chương 3 Ngoại lệ - GV. Võ Hoàng Phương Dung
Số trang: 18
Loại file: pdf
Dung lượng: 255.76 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 3 Ngoại lệ thuộc bài giảng lập trình Java cơ bản, cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung chính sau: đị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ệ mới.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình Java cơ bản: Chương 3 Ngoại lệ - GV. Võ Hoàng Phương DungLẬP TRÌNH JAVA Chương 3 NGOẠI LỆ GV: Võ Hoà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ệ mới 2/25 Định nghĩa ngoại lệ Ngoại lệ (Exception): là sự kiện xuất hiện trong quá trình thực thi của chương trình và gây phá vỡ dòng thực thi của chương trình. Ví dụ: đọc 1 file không tồn tại Lớp Exception • Là lớp cha cho tất cả các lớp thể hiện ngoại lệ. • 2 phương thức thông dụng trong lớp Exception. toString(): Trả về một chuỗi mô tả về Ngoại lệ. printStackTrace(): In ra thông tin chi tiết về Ngoại lệ, như các method gây ra ngoại lệ, dòng code xảy ra ngoại lệ. 3/25Định nghĩa ngoại lệ 4/25 Định nghĩa ngoại lệ ArithmeticException: xảy ra khi Chương trình có các lỗi đại số. VD: Chia cho 0. NumberFormatException: Xảy ra khi thực hiện chuyển đổi chuỗi không hợp lệ sang kiểu số. NullPointerException: Xảy ra khi một đối tượng chưa được khởi tạo mà đã truy cập đến thành phần của đối tượng đó. ArrayIndexOutOfBoundException: Xảy ra khi truy cập đến phần tử của mảng có chỉ số bé hơn không hoặc hoặc lớn hơn kích thước của mảng. 5/25 Bắt giữ & xử lý ngoại lệ Cú pháp try { // Khối code gây ra 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 đi kèm ít nhất 1 khối catch hoặc finally Có thể có nhiều khối catch sau 1 khối try Khối finally luôn được thực hiện Nhiều khối try … catch có thể lồng nhau 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ệ được chuyển đến các phương thức gọi, cho đến khi một bộ quản lý ngoại lệ được tìm thấy, hoặc kết thúc. throw: Dùng để ném ra một ngoại lệ mà không xử lý trong phương thức. throws: Dùng đế khai báo danh sách các ngoại lệ mà phương thức có thể ném ra 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) throwsArithmeticException{ 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ó 2 loại ngoại lệ • Cần kiểm tra: trình biên dịch luôn kiểm tra xem chúng ta có viết code xử lý các ngoại lệ này 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ụ về ngoại lệ cần được kiểm traInputStreamReader reader;BufferedReader bufReader;reader = new InputStreamReader(System.in);bufReader = new BufferedReader(reader);try {String s = bufReader.readLine();}catch (IOException e) {...} ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình Java cơ bản: Chương 3 Ngoại lệ - GV. Võ Hoàng Phương DungLẬP TRÌNH JAVA Chương 3 NGOẠI LỆ GV: Võ Hoà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ệ mới 2/25 Định nghĩa ngoại lệ Ngoại lệ (Exception): là sự kiện xuất hiện trong quá trình thực thi của chương trình và gây phá vỡ dòng thực thi của chương trình. Ví dụ: đọc 1 file không tồn tại Lớp Exception • Là lớp cha cho tất cả các lớp thể hiện ngoại lệ. • 2 phương thức thông dụng trong lớp Exception. toString(): Trả về một chuỗi mô tả về Ngoại lệ. printStackTrace(): In ra thông tin chi tiết về Ngoại lệ, như các method gây ra ngoại lệ, dòng code xảy ra ngoại lệ. 3/25Định nghĩa ngoại lệ 4/25 Định nghĩa ngoại lệ ArithmeticException: xảy ra khi Chương trình có các lỗi đại số. VD: Chia cho 0. NumberFormatException: Xảy ra khi thực hiện chuyển đổi chuỗi không hợp lệ sang kiểu số. NullPointerException: Xảy ra khi một đối tượng chưa được khởi tạo mà đã truy cập đến thành phần của đối tượng đó. ArrayIndexOutOfBoundException: Xảy ra khi truy cập đến phần tử của mảng có chỉ số bé hơn không hoặc hoặc lớn hơn kích thước của mảng. 5/25 Bắt giữ & xử lý ngoại lệ Cú pháp try { // Khối code gây ra 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 đi kèm ít nhất 1 khối catch hoặc finally Có thể có nhiều khối catch sau 1 khối try Khối finally luôn được thực hiện Nhiều khối try … catch có thể lồng nhau 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ệ được chuyển đến các phương thức gọi, cho đến khi một bộ quản lý ngoại lệ được tìm thấy, hoặc kết thúc. throw: Dùng để ném ra một ngoại lệ mà không xử lý trong phương thức. throws: Dùng đế khai báo danh sách các ngoại lệ mà phương thức có thể ném ra 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) throwsArithmeticException{ 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ó 2 loại ngoại lệ • Cần kiểm tra: trình biên dịch luôn kiểm tra xem chúng ta có viết code xử lý các ngoại lệ này 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ụ về ngoại lệ cần được kiểm traInputStreamReader reader;BufferedReader bufReader;reader = new InputStreamReader(System.in);bufReader = new BufferedReader(reader);try {String s = bufReader.readLine();}catch (IOException e) {...} ...
Tìm kiếm theo từ khóa liên quan:
Lập trình Java Lập trình Java cơ bản Bài giảng lập trình Java Lý thuyết lập trình Ngôn ngữ lập trình Xử lý dữ liệu lập trình Chuyển tiếp ngoại lệ Tự học lập trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 261 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 251 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 251 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 229 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 213 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 204 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 192 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 171 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 162 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 151 0 0