Hãy sửa tôi nếu điều này sai: Trong câu lệnh try-with-resources của Java 7, bất kỳ ngoại lệ nào được ném bởi phương thức của tài nguyên close()
phải được khai báo theo phương pháp của tôi hoặc tôi phải thử toàn bộ một lần thử khác try
ngoại lệ được ném bởi close()
.Thử-với-tài nguyên: Tôi có phải ném hoặc nắm bắt các ngoại lệ của phương thức close() không?
Nếu vậy, tôi phải tự hỏi liệu tôi có sử dụng nhiều hay không. Tôi chắc chắn không muốn throw
ngoại lệ được ném bởi close()
, người gọi sẽ không biết phải làm gì với điều đó. Và try
gói thêm try
chỉ để xử lý close()
sẽ không trông rất tao nhã, với tôi ít nhất.
EDIT: Tôi nghĩ rằng tôi vô tình hỏi hai câu hỏi, một trong số đó là một bản sao.
Câu hỏi 1. Tôi có phải tuyên bố rằng phương pháp của tôi đưa ra ngoại lệ từ phương pháp close()
hoặc quấn thử bằng tài nguyên trong lần thử khác không? (Không được trả lời trong bản sao được đề xuất.)
Câu hỏi 2. Có cách nào để đóng tài nguyên một cách âm thầm không? (Rõ ràng là một bản sao, vì vậy tôi đang dùng câu nói đó ra câu hỏi. Hy vọng rằng điều này làm cho các câu hỏi một cách thỏa đáng độc đáo.)
Bạn có rất nhiều tài nguyên mà ném từ 'close()'? –
Chỉ một vài, nhưng tôi sử dụng chúng rất nhiều (ResultSet, BufferedReader, RandomAccessFile). –