Triggers can be used to prevent DML operations from occuring by calling the addError() method on a record or field. When used on trigger.new records in insert & update triggers and on Trigger.old records in delete triggers,the custom error message is displayed in the application interface & logged to.

Example:

Trigger AccountDeletion on Account (before delete) {

for (Account a: [SELECT id FROM Account where id in (SELECT AccountId from opportunities) AND id in :Trigger.old]) {

Trigger.oldMap.get(a.id).addError(‘Cannot delete account with related opportunities.’);

}

}

Note: If a trigger even throws an unhandled exception, all records are marked with an error & no further processing takes place.

Our Recent Blog

Share This Post