I just figured it out. I noticed this line in the Swift Documentation:
If a catch clause does not specify a pattern, the clause will match and bind any error to a local constant named error
So, then I tried this:
do {
try vend(itemNamed: "Candy Bar")
...
} catch {
print("Error info: \(error)")
}
And it gave me a nice description.