Bạn nên thực hiện phương pháp "thử và bắt ngoại lệ" đơn giản vì bạn vẫn phải làm điều đó.
Nếu bạn kiểm tra trước, không có gì ngăn cản ai đó chèn một hàng cho người dùng đó giữa séc và phụ trang của bạn, trong trường hợp đó, người dùng sẽ ở trong bảng mặc dù séc của bạn không tìm thấy.
Thiếu khả năng chạy kiểm tra và chèn trong một số loại giao dịch (để không ai khác có thể chèn người dùng đó trong thời gian tạm thời). bạn không thể chắc chắn rằng ngoại lệ sẽ hoạt động.
Và mặc dù nhiều DBMS 'cung cấp hỗ trợ giao dịch, tôi không biết về bất kỳ điều đó sẽ khóa một hàng bạn chưa chèn :-)
Tất nhiên, nếu ứng dụng của bạn được thiết kế theo cách mà chỉ quy trình của bạn mới chèn người dùng (và được tuần tự hóa), bạn có thể sử dụng phương pháp kiểm tra đầu tiên. Nhưng tôi sẽ đưa ra nhiều nhận xét phong phú với kết quả là nó sẽ cần được xem xét lại nếu bạn mở rộng quy mô.