即使应用程序需要大量异常,定义和抛出自定义异常是否是一种好习惯?
- EntityNotFoundException
- EntityAlreadyExistsException
- EntityNotUniqueException
- EntityNotAddedException
- EntityNotUpdatedException
- EntityNotDeletedException
- QuizOverException
- 测验过期异常
- TableAlreadyBookedException
- EndDateMustBeGreaterThanStartDateException
我试图命名这些示例异常名称以尽可能好地描述它们的目的。我希望他们能对我要问的问题有所了解。
不要只用这些例外来限制您的想象力,而是在您的应用程序生命周期中可能出现的所有情况。考虑 CRUD 和业务异常。
我知道抛出和捕获异常在性能方面是一个昂贵的过程,但它们不是提供了一种更优雅的方式来开发你的应用程序吗?
EntityNotFoundException
抛出 a而不是编写 if 语句来检查实体是否为空不是更好吗?EntityAlreadyExistsException
抛出 a而不是编写额外的 if 语句会调用一个方法来检查具有给定 Id 的实体是否已经存在,这不是更好吗?EntityNotAddedException
抛出 a而不是检查指定事务是否成功的 bool 类型的返回值不是更好吗?如果我们想返回一个对象怎么办?
我觉得答案会是“你不应该使用EntityNotFoundException
而是检查是否为空,但你应该使用EntityAlreadyExistsException
”,“没有圣杯”。
我想知道这样做的优雅方式是什么?