Tôi có một đoạn mã đọc dữ liệu từ một tệp. Tôi muốn lực lượng IOException trong mã này cho mục đích thử nghiệm (Tôi muốn kiểm tra xem mã ném một ngoại lệ tùy chỉnh chính xác trong trường hợp này).Buộc IOException trong khi đọc tệp
Có cách nào để tạo tệp được bảo vệ không đọc, chẳng hạn? Có thể giao dịch với một số kiểm tra bảo mật có thể giúp bạn?
Xin lưu ý rằng việc chuyển tên của một tệp không tồn tại không thể giúp, vì FileNotFoundException có một mệnh đề bắt riêng biệt.
Dưới đây là đoạn mã cho sự hiểu biết tốt hơn về câu hỏi:
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(csvFile));
String rawLine;
while ((rawLine = reader.readLine()) != null) {
// some work is done here
}
} catch (FileNotFoundException e) {
throw new SomeCustomException();
} catch (IOException e) {
throw new SomeCustomException();
} finally {
// close the input stream
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// ignore
}
}
}
Bạn có thể thử đọc một tập tin mà bạn không được phép để đọc. Trên Linux '/ proc/kcore' là một cược tốt, giống như'/etc/shadow'. –
không phải là câu trả lời, mà là một quan sát. Bạn nên bọc IOException với ngoại lệ tùy chỉnh của bạn để giữ nguyên dấu vết ngăn xếp đầy đủ. tức là 'ném SomeCusomException mới (e) ' –