stylistic:style_transfer, structural:expansion
Exception handling

Many programming languages include exception handlers, a section of code triggered by runtime errors that can deal with them in two main ways:

Some programming languages support dedicating a block of code to run regardless of whether an exception occurs before the code is reached; this is called finalization.

There is a tradeoff between increased ability to handle exceptions and reduced performance. For example, even though array index errors are common C does not check them for performance reasons. Although programmers can write code to catch user-defined exceptions, this can clutter a program. Standard libraries in some languages, such as C, use their return values to indicate an exception. Some languages and their compilers have the option of turning on and off error handling capability, either temporarily or permanently.