Summary
In this chapter, we have seen how we can best handle those situations where an error occurs to ensure that we capture the most relevant information and inform the user appropriately.
We started by discussing the different types of exceptions that we could anticipate within our solutions and the ways in which we may want to respond to them. We covered how to correctly capture errors and use the finally
block to roll back any changes or work that we did not want to persist.
Following this, we constructed a simple logging utility to allow us to capture and persist errors and logs to the database for review by an administrator or developer at a later point. We reviewed the different use cases for the logging utility as well as how we could capture and persist the state of an Apex class to this for review and to enhance our debugging capabilities.
In the last section of the chapter, we looked at how we can use custom exception types to provide varied exception outputs...