我对整个想法的问题是,异常通常应该按照可能出错的方向进行设计,例如NullPointerException, 而PersonException似乎是指涉及正在发生的任何灾难的对象,而没有给出出错的线索。Person 对象是否导致异常?是因为 Person 存在内部逻辑问题,还是因为向其中一个方法提供了错误的参数?还是由于在数据库中找不到 Person 导致的异常?
您对与这两个对象有关的异常有两种看法,这一事实只会加剧我的担忧。我建议重新考虑您的异常(EntityNotFoundException、BadArgumentException、MinorCannotOrderPornException)的设计,希望您的困境的答案会更加明显。