Excluding minor syntactic differences, there are only a couple of exception handling styles in use. In the most popular style, an exception is initiated by a special statement (codice_11 or codice_12) with an exception object (e.g. with Java or Object Pascal) or a value of a special extendable enumerated type (e.g. with Ada or SML). The scope for exception handlers starts with a marker clause (codice_13 or the language's block starter such as codice_14) and ends in the start of the first handler clause (codice_15, codice_16, codice_17). Several handler clauses can follow, and each can specify which exception types it handles and what name it uses for the exception object.