An anonymous block is an unnamed block of PL/SQL code that is not persisted in the database. The minimal PL/SQL block above is an example of an anonymous block. In addition to the mandatory section of the block containing executable statements, an anonymous block can include variable declarations (in a DECLARE section prior to the BEGIN keyword). It also can include exception handling code. Code in exception handlers is called if a runtime error occurs in one of the executable statements in the mandatory section of the block. The declaration and exception handling sections are optional.