ANSWER:
A, D: Most of the code resides in the function, so there is less chance for logic and syntax errors, because you're not rewriting the same code over in your procedures. It also makes your application smaller, because it minimizes the error-handling code used in the application.

Answers in Depth...