如何在 PHP 中的 class 中捕获异常?
How to catch exceptions within a class in PHP?
我有一个 class 具有许多功能,用于从 MySql 数据库提交和 select 数据。为了节省时间,我需要一个 try-catch
块来捕获 class.
中的所有异常
我在下面尝试了我的代码,但它不起作用,因为 try
块给出了语法错误。
代码
class DB_FunctWeb {
public $db;
//my try block starts
try {
function __construct($conn) {
$this->$db=$conn;
}
function __destruct() {
}
//....more functions....
} catch (Exception $e) {
$errnumber = $db->errno;
header("./creator.php");
if ($errnumber === 1062) {
insertInfo(" Duplicate entry please re-enter farm name.");
// echo $e->getMessage();
} else {
insertInfo(" An error occurred. Items where not added.");
}
} finally {
closeconn($db);
mysqli_report(MYSQLI_REPORT_OFF);
}
}
问题
如何捕获 class 中的异常?
您捕获了 class 的实例化对象,而不是 class 定义:
try {
$dbweb = new DB_FunctWeb($conn);
}
catch (Exception $e)
{
...
}
我有一个 class 具有许多功能,用于从 MySql 数据库提交和 select 数据。为了节省时间,我需要一个 try-catch
块来捕获 class.
中的所有异常
我在下面尝试了我的代码,但它不起作用,因为 try
块给出了语法错误。
class DB_FunctWeb {
public $db;
//my try block starts
try {
function __construct($conn) {
$this->$db=$conn;
}
function __destruct() {
}
//....more functions....
} catch (Exception $e) {
$errnumber = $db->errno;
header("./creator.php");
if ($errnumber === 1062) {
insertInfo(" Duplicate entry please re-enter farm name.");
// echo $e->getMessage();
} else {
insertInfo(" An error occurred. Items where not added.");
}
} finally {
closeconn($db);
mysqli_report(MYSQLI_REPORT_OFF);
}
}
问题
如何捕获 class 中的异常?
您捕获了 class 的实例化对象,而不是 class 定义:
try {
$dbweb = new DB_FunctWeb($conn);
}
catch (Exception $e)
{
...
}