RSPEC-112/CWE-397
General or reserved exceptions should never be thrown
Throwing general exceptions such as Exception, SystemException and ApplicationException will have a negative impact
on any code trying to catch these exceptions.
Use this tool to help you decide which exception would be best to throw for a particular situation.
Do you really need to throw an exception? Best practices for exceptions