Yes callingcard, you could do that and in theory it wll work. But on the other hand, it will be an uncontrolled error and the database will throw an error if someone trying to create a duplicate email.
I suggest that you handle it after the form has be submitted. Usually, here is what people do: they collect the data received for the form, and before putting them in the database, they grab the email and make a query to the db to see if that email is already there. If it is, they will display the appropriate message to the user. Sometimes, if you don't want to let them know that the email is the issue, then you can simply abort the signup quietly, but you still must update the logfiles so administrators will know what's going on. Because if the users know that duplicate emails are not allowed, they will simply use some alternatives like
http://trashmail.net