Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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中捕获类内的异常?_Php_Exception_Try Catch_Php 7 - Fatal编程技术网

如何在PHP中捕获类内的异常?

如何在PHP中捕获类内的异常?,php,exception,try-catch,php-7,Php,Exception,Try Catch,Php 7,我有一个包含许多函数的类,用于提交和选择MySql数据库中的数据。为了节省时间,我需要一个捕获类中所有异常的try-catch块。 我尝试了下面的代码,但它不起作用,因为try块给出了语法错误 代码 问题 如何捕获类中的异常?捕获的是类的实例化对象,而不是类定义: try { $dbweb = new DB_FunctWeb($conn); } catch (Exception $e) { ... } 每个函数都需要自己的try/catchblock@Nick是否没有其他方法为所有人添

我有一个包含许多函数的类,用于提交和选择MySql数据库中的数据。为了节省时间,我需要一个捕获类中所有异常的
try-catch
块。
我尝试了下面的代码,但它不起作用,因为
try
块给出了语法错误

代码 问题

如何捕获类中的异常?

捕获的是类的实例化对象,而不是类定义:

try {
   $dbweb = new DB_FunctWeb($conn);
}
catch (Exception $e)
{
 ...
}

每个函数都需要自己的try/catchblock@Nick是否没有其他方法为所有人添加一个
try catch
块?例如,包括一个带有
try-catch
的文件,以及介于
try-catch
块调用所有函数之间的文件,或者我读了一些关于
\u-call
方法的内容,该方法也是一个选项。如果您将所有方法声明为私有,您可以使用
\u call
截取调用,并使用该截取来围绕函数调用包装try/catch。类似于
公共函数uu调用($name,$arguments){try{$this->$name(…$arguments);}catch(异常$e){echo“error!”;}}
也许?@Nick谢谢!这澄清了一些不确定性。在尝试之前,首先需要了解更多。如果类中有将数据插入datatable的函数,这会捕获类中函数的异常,例如
try{$dbweb=new DB_FunctWeb($conn);$dbweb->commitFarmname($name,$conn);}catch(Exception$e){…}
它将捕获DB\u FunctWeb构造函数或commitFarmname()方法中引发的任何异常。如果您想处理代码中抛出的任何异常,可以将任何代码包装在try块中
但是
不可能将类方法的定义放在try块中。
try {
   $dbweb = new DB_FunctWeb($conn);
}
catch (Exception $e)
{
 ...
}