我试图找出什么异常的正确形式抛出将是我写的库。我需要处理的一个例子是将用户登录到电台。他们通过扫描徽章来做到这一点。可能的事情可能出错包括:何时使用自定义异常与现有的例外与一般例外
- 他们的徽章被停用
- 他们没有权限在这个车站工作
- 扫描系统
- 他们已经不存在的徽章登录到别处
- 数据库中另一站下来就是
- 内部数据库错误(有时会发生,如果徽章没有得到正确设置)
使用这个库将不得不处理这些异常的一种方式或其他应用程序。他们可能会决定只是说“错误”,或者他们可能想给用户更多有用的信息。这种情况下的最佳做法是什么?为每种可能性创建一个自定义异常?使用现有的例外?使用例外并通过原因(throw new Exception("Badge is deactivated.");
)?我认为这是前两种方式的组合,在适用的情况下使用现有的例外情况,并在需要时创建新的例外情况(并在有意义的情况下对例外进行分组)。