Catch Exception objects thrown by DML operations

Added try/catch to save(). Moved the itemList.add() call to avoid adding unsuccessful items.