internal static string ReadCSVFile(string filePath)
{
try
{
...
...
}
catch(FileNotFoundException ex)
{
throw ex;
}
catch(Exception ex)
{
throw ex;
}
finally
{
...
}
}
//Reading File Contents
public void ReadFile()
{
try
{
...
ReadCSVFile(filePath);
...
}
catch(FileNotFoundException ex)
{
...
}
catch(Exception ex)
{
...
}
}
Ở đây trong mẫu mã ở trên, tôi có hai hàm ReadFile và ReadCSVFile.
Trong ReadCSVFile, tôi nhận được một ngoại lệ của loại FileNotFoundExceptioon, được đánh bắt trong khối catch (FileNotFoundException). Nhưng khi tôi ném ngoại lệ này để bị bắt trong catch (FileNotFoundException) của ReadFile() Function, nó bị bắt trong khối catch (Exception) chứ không phải là catch (FileNotFoundException). Hơn nữa, trong khi gỡ lỗi, giá trị của ex nói là Object Not Initialized. Làm thế nào tôi có thể ném ngoại lệ từ hàm được gọi đến khối catch của hàm gọi mà không làm mất ngoại lệ bên trong hoặc ít nhất là thông điệp ngoại lệ?Ném ngoại lệ từ chức năng được gọi đến Chặn bắt của chức năng người gọi
thể trùng lặp của [.NET - Ném ngoại lệ thực hành tốt nhất] (http://stackoverflow.com/questions/22623/net-throwing-exceptions-best-practices) – Chris
khi bạn sử dụng cùng một đối tượng địa phương ngoại lệ, bạn có chắc là ngoại lệ bên trong có kiểu 'FileNotFoundException' không? – NirMH
Không phải là một bản sao, nhưng một câu hỏi thiếu thông tin để hiển thị lý do tại sao nó không phải là trùng lặp :) – PVitt