Java Exception Handling - 5 Best Practices That You Should Know