Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception 编写特定异常的最佳实践_Exception - Fatal编程技术网

Exception 编写特定异常的最佳实践

Exception 编写特定异常的最佳实践,exception,Exception,编写自定义异常类的最佳实践是什么?例如,如果我正在创建一个简单的业务应用程序,我是否应该为每个域对象(CustomerNotFoundException、EmployeeNotFoundException、ProductNotFoundException等)创建一个异常?如果我这样做了,它看起来像是一堆乱七八糟的东西。在我正在学习的书中的例子中,它们似乎总是有一个“未找到”的异常,特别是对于域对象。但是当我读到关于异常的讨论时,我觉得我不应该创建很多自定义异常。这是基于实际情况的。例如,在一个企

编写自定义异常类的最佳实践是什么?例如,如果我正在创建一个简单的业务应用程序,我是否应该为每个域对象(CustomerNotFoundException、EmployeeNotFoundException、ProductNotFoundException等)创建一个异常?如果我这样做了,它看起来像是一堆乱七八糟的东西。在我正在学习的书中的例子中,它们似乎总是有一个“未找到”的异常,特别是对于域对象。但是当我读到关于异常的讨论时,我觉得我不应该创建很多自定义异常。

这是基于实际情况的。例如,在一个企业系统中,有许多人在同一个环境中工作和/或预期其他人可能会扩展您的代码或在其上构建,因此有不同的异常非常有用,可以为您的代码提供更详细的接口。另一方面,在使用静态代码库的小型系统上,它相当麻烦,只会降低代码的透明度。一般来说,根据经验法则,您的代码应该记录自身和/或应该有详细的文档(最好包括源代码),这样其他人就可以找到问题的根源,不管您是否有自定义的例外