The best way to handle Errors in Clean Arch - C#