Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/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
Php 是否需要使用sef定义的异常_Php_Laravel - Fatal编程技术网

Php 是否需要使用sef定义的异常

Php 是否需要使用sef定义的异常,php,laravel,Php,Laravel,我们都知道,PHP有一个名为“Exception”的类来处理异常情况。我经常发现像我这样的人定义了一个新的异常类来扩展类“Exception”。这个新的异常类不重写或添加任何函数。它只声明类“exception”的子类。 因此,我怀疑是否有必要在我的项目中自行定义一个新的异常类?过去,我在任何地方都使用了“Exception”类。这不是必需的,但可能非常方便:如果您有不同类型的异常,您可以在捕获它们时以不同的方式处理它们: try { ... } catch (SpecificExcep

我们都知道,PHP有一个名为“Exception”的类来处理异常情况。我经常发现像我这样的人定义了一个新的异常类来扩展类“Exception”。这个新的异常类不重写或添加任何函数。它只声明类“exception”的子类。
因此,我怀疑是否有必要在我的项目中自行定义一个新的异常类?过去,我在任何地方都使用了“Exception”类。

这不是必需的,但可能非常方便:如果您有不同类型的异常,您可以在捕获它们时以不同的方式处理它们:

try {
    ...
} catch (SpecificException $e) {
    // Do something specific here
} catch (SomeOtherException $e) {
    // Here you can do something else
} catch (\Exception $e) {
    // The rest...
}

以这种方式定义异常的主要原因是帮助调试和错误处理。像
NetworkException
这样的东西不仅信息量更大,而且您还可以在异常发生时捕获该类型的异常,因此您可以以不同的方式处理不同类型的异常。有些可能是临时的,因此您可能会捕捉到它们,并要求用户稍后重试,例如。

可能重复的