Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
PostgreSQL 11 Server Side Programming Quick Start Guide

You're reading from   PostgreSQL 11 Server Side Programming Quick Start Guide Effective database programming and interaction

Arrow left icon
Product type Paperback
Published in Nov 2018
Publisher
ISBN-13 9781789342222
Length 260 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Luca Ferrari Luca Ferrari
Author Profile Icon Luca Ferrari
Luca Ferrari
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Exceptions and error handling

Every PL/pgSQL code block can include a section for exception handling. Exceptions are errors that arise during the flow of the code block and are of different types. A block can handle these errors in order to recover. The exception handling part of a code block begins with an EXCEPTION keyword and can include different branches, marked with the WHEN keyword, to handle different error types. Error types are coded into the server and are identified by either a mnemonic name, such as unique_violation, to indicate a unique constraint violation, or a numeric SQL State, such as 23505.

By default, WHEN branches refer to error names, while numeric SQL States have to be placed as strings preceded by the SQLSTATE keyword. The OTHERS special error name is used as a general way to catch any kind of error other than user cancelled statements.

If a code block...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime