BÁO CÁO BÀI TẬP LỚN
Môn Lập Trình Java
Tên đề tài :
- Tìm hiểu về cơ chế bắt lỗi (Exception Handling)
trong Java
- Tìm hiểu về lớp File và interface Serializable
- Viết chương trình đọc và ghi tệp chứa các đối
tượng Sinh viên có các thông tin về mã sinh viên,
họ tên và ngày sinh.
Nhóm sinh viên thực hiện :
Nguyễn Thị Hồng Anh
Nguyễn Thị Thu Hải
Hoàng Thị Hoa
Hoàng Thị Nga
Nguyễn Thị Thu Quỳnh
Nội dung báo cáo :
I. Cơ chế bắt lỗi (Exception Handling)
1.Giới thiệu một lỗi (exception)
2.Mục đích của việc xử lý lỗi
3.Mô tả mô hình xử lý lỗi
4. Các khối ‘try’ và ‘catch’
5. Khối “finally”
6. Các ngoại lệ được định nghĩa với lệnh ‘throw’ và
‘throws’
7. Danh sách các ngoại lệ
II. Lớp File
1.Giới thiệu lớp file
hợp. Nếu không, chương trình sẽ ngắt khi hệ
thống xảy ra lỗi.
Trong trường hơp đó, tất cả các nguồn tài nguyên
mà hệ thống trước kia phân phối sẽ được di dời
trong cùng trạng thái. Điều này làm gây lãng phí
nguồn tài nguyên. Để tránh trường hợp này, tất
cả các nguồn tài nguyên mà hệ thống phân phối
nên được thu hồi lại. Tiến trình này đòi hỏi cơ
chế xử lý lỗi thích hợp.
3. Mô hình xử lý lỗi :
Mô hình xử lý lỗi dựa trên 3 hoạt động chính
- Đặc tả ngoại lệ: là khai báo cho trình biên dịch
biết là phương thức này có thể gây ra ngoại lệ
lúc thi hành. Để khai báo ta dùng từ khóa throws
trong khai báo phương thức.
- Loại bỏ một ngoại lệ: một phương thức sau
khi đã khai báo thì có thể ném ra các đối
tượng.
- Bắt lỗi: mỗi khi lỗi xảy ra sẽ được phát hiện và
đưa vào một khối để xử lý.
Vấn đề của người lập trình là phải biết
được đoạn mã nào có thể gây ra lỗi.Khi
đã khoanh vùng được đoạn mã có thể gây
ra lỗi họ sẽ đặt đoạn mã đó trong khối
“try”, và đặt đoạn mã xử lý lỗi trong khối
“catch”.
catch ( TypeExceptionN ex)
}
// Mã đựơc thực thi khi một ngoại lệ TypeExceptionN đựơc phát sinh trong khối try
{
finally
}
// khối lệnh nay luôn được thực hiện cho dù ngoại lệ có xảy ra trong khối try hay ko
{
4. Các khối “try” và “catch” :
+ Khối try - catch được sử dụng để thi hành mô hình
catch và throw của việc xử lý lỗi. Khối try chứa một
bộ các lệnh có thể thi hành được. Các lỗi có thể bị
chặn khi thi hành những câu lệnh này. Phương thức
dùng để chặn lỗi có thể được khai báo trong khối
try. Một hay nhiều khối catch có thể theo sau khối
try. Các khối catch này bắt các lỗi trong khối try.
+ Để bắt giữ bất cứ một lỗi nào, ta phải chỉ ra được
kiểu lỗi là Exception : catch(Exception e)
+ Khi lỗi bị bắt giữ không biết thuộc kiểu nào chúng
ta có thể sử dụng lớp Exception để bắt lỗi đó.
Chương trình minh họa cách sử dụng các khối
5. Khối “finally” :
+ Khối “finally “ thực hiện tất cả các công
việc thu dọn khi một lỗi xảy ra
+ Có thể sử dụng để kết hợp với khối “try”
+ Khối này chứa các câu lệnh thu hồi tài
nguyên về cho hệ thống hay lệnh in ra các
câu thông báo
Các lệnh này bao gồm:
Đóng tập tin
Đóng lại bộ kết quả
Đóng lại các kết nối được tạo ra trong cơ sở dữ
liệu
+ Khi finally là tùy ý, khối này được đặt sau
khối catch. Hệ thống sẽ duyệt từ câu lệnh
đầu tiên của khối finally sau khi gặp lệnh
return hay lệnh break được dùng trong khối
try
+ Khối “finally bảo đảm lúc nào cũng được
thực thi, bất chấp có lỗi nào xảy ra hay
không
Minh họa sự hình thành các khối
“try”,”catch” và “finally”:
try block
catch blockfinally block
finally block
ClassNotFoundException Không thể truy nạp lớp yêu cầu
II. Lớp File :
1. Giới thiệu lớp file
2. Một số phương thức trong lớp File
3. Thư mục
4. FilenameFiter
5. ListFiles()
1. Giới thiệu về lớp File :
+ Lớp File giao tiếp trực tiếp các file và hệ thống
file. Lớp File không xác định thông tin mang về
hoặc được lưu trữ trên các tập tin như thế nào.
+ Một đối tượng File dùng giám sát và thao tác
thông tin tương ứng với một tập tin trên đĩa như
thời gian, ngày tháng, đường dẫn thư mục và cây
thư mục con…
+ Lớp File không phục vụ cho việc nhập/xuất dữ
liệu trên luồng. Lớp File thông thường dùng để
biết được các thông tin chi tiết về tệp tin cũng như
thư mục (tên, ngày giờ tạo, kích thước,….).
2. Một số phương thức trong lớp
File:
+ Lớp File có các hàm khởi tạo sau:
File(String )
File(String String )
File(File String )
Trong đó, là tên đường dẫn của tập tin, là tên
tập tin, và là một đối tượng File xác định thư mục.
!"
#$%&'''(')*+, /&"
&01&2#0""
&1&2#""
&31&2#3""
&1&2#""
#4"5&4&1&4&"
#6"5&%&1&%&"
#+"5&&1&&"
&&2#7"5&&1&&2&&""
#"5&&1&
&"
#3"5&&1&&"
&1&2#8""
&91&2#"2&:&"
;
;
3. Thư mục :
+ Thư mục là lớp File chứa danh sách các tập tin
và thư mục khác.
+ Hai hàm tiện ích khác của File là mkdir() và
mkdirs(). Hàm mkdir() tạo ra một thư mục, trả về
true nếu thành công. Trường hợp xảy ra lỗi khi
đường dẫn xác định trong đối tượng File đang tồn
tại, hoặc là đường dẫn không gồm tên thư mục
cần tạo của File chưa tồn tại.