Which three actions represent best practices when implementing an exception handling strategy for an application?
A. Create a custom checked exception if an alternative action can be taken to resolve the exception.
B. Create a custom unchecked exception if the action to resolve the exception cannot be defined.
C. Always log the specific exception before re-throwing a wrapped exception.
D. Always throw exceptions in methods that are designed for exception handling.
E. Always include information specific to the error when logging an exception.