I am curious to know on two levels the following details.

1. Is it considered bad practice or is it worst performance to continually try to insert duplicate data and allowing the dbms to enforce an entity's constraints to deny those inserts. OR is it better to do some sort of SELECT COUNT(1) and only insert if count is not 1.
2. Assuming that from the first item it is more efficient from dbms perspective to enforce an entity's constraints and not make multiple calls. Will the application code (Java, .NET, etc) suffer a greater performance impact due to code unnecessarily heading into exception block even though the exception will not be handled.

Possible Duplicate: [Inserting data into SQL Table with Primary Key. For dupes - allow insert error or Select first?](https://stackoverflow.com/questions/411575/inserting-data-into-sql-table-with-primary-key-for-dupes-allow-insert-error-o)