Tôi đã viết phù thủy thủ tục được lưu trữ đôi khi RAISERROR(). tôi thực hiện nó thông qua các khuôn khổ thực thể như:Xử lý lỗi cơ sở dữ liệu trong khung tổ chức
using(MyModelEntities conn = new MyModelEntities()) {
conn.MyStoredProcedure(input_p, output_p);
}
Thủ tục lưu trữ:
create procedure dbo.MyStoredProcedure(
@input nvarchar(255),
@output int out
)
as
begin
...
RAISERROR (N'My Exception....', 10, 1);
...
end
go
Có cơ hội để có được thông tin về lỗi?
Btw. Tôi đã quá nhanh ... RAISERROR không trở lại ngoại lệ. Chỉ Sql Server Erorrs ... Vậy làm cách nào tôi có thể xử lý các lỗi Custom của mình? – nosbor
Bạn có đang bắt một trường hợp của SqlException trong khối try/catch và sử dụng các thuộc tính Messsage hoặc Errors của nó không ?: (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.aspx) –