Вы можете выполнить удаление внутри транзакции:
try
{
begin transaction
delete row
}
catch SQLException
{
if SQL error indicates referential integrity violation
throw ReferentialIntegrityViolationException
}
finally
{
rollback transaction
}
(при условии, что вы никогда не хотите, чтобы удаление происходило в этот момент в вашем коде)