The idea is that all errors can be trapped in one location in order to make debugging as simple as possible as well as provide a consistent error interface to the users. There is a number of utility classes included with Turbine. The Database pooling classes are helpful for defining the methods for obtaining a connection to the database. This code is implemented as a singleton system so that all you need to do is get an instance of the database class, get a connection and go. There is no need to pass around a Connection object.
Turbine comes with pool implementations for many of the most popular databases.
Creating your own is quite simple as well, all you need to do is look at the existing code and create your own. If you need help or want someone to create one for your database, simply ask on the mailing list. While not necessarily part of the Turbine framework, because each implementation is different depending on your needs, it is a great model to work from. Take a look at the TurbineUserPeer.java file for a good example of this methodology in use. This is how you can have access to form data that has been posted by a users web browser.