Tôi có một đoạn mã cố gắng nắm bắt:Làm thế nào để xác định xem một ngoại lệ là một loại đặc biệt
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
Đối với đoạn mã này tôi đang cố gắng để chèn một bản ghi vào cơ sở dữ liệu: Các dba có thiết lập nó để cơ sở dữ liệu kiểm tra các bản sao và trả về một lỗi nếu có các bản sao. Hiện tại, như bạn có thể thấy, tôi đang thêm cùng một lỗi vào mô hình bất kể lỗi nào xảy ra. Tôi muốn nó thay đổi để lỗi này chỉ được thêm vào mô hình nếu nó được gây ra bởi lỗi trùng lặp được thiết lập bởi dba.
Dưới đây là lỗi tôi muốn bắt. Lưu ý nó trong ngoại lệ bên trong. Bất cứ ai có thể cho tôi biết làm thế nào để đặc biệt bắt này?
Xem Davide của. Nói chung bắt 'Ngoại lệ' không phải là cách hay nhất. Bạn nên càng cụ thể càng tốt và để bất cứ điều gì bạn không thể xử lý bong bóng lên đến người dùng/khung. – Ryan
Kiểm tra câu trả lời này: http://stackoverflow.com/questions/3967140/c-sharp-entity-framework-duplicate-unique-exception –