【发布时间】:2011-11-07 15:28:59
【问题描述】:
我正在尝试创建一个从恒定联系人中删除用户的函数。这个函数调用了一个用于持续联系的包装类,它可以工作,但是如果你给它一个在他们的网站上不存在的电子邮件地址,它会返回一个可捕获的致命错误。
我是 try/catch 的新手,但我不知道该放在哪里,以便我可以创建一个优雅的错误消息,而不是我得到的 Catchable Fatal Error。以下是我当前的代码:
function ccdeleteuser($emailaddress)
{
//this code accesses the constant contact wrapper class to delete a user based on email
$ConstantContact = new ConstantContact("basic", "apikey", "usr", "pwd");
$SearchContact = $ConstantContact->searchContactsByEmail($emailaddress);
$DeleteContact = $ConstantContact->deleteContact($SearchContact[0]);
}
$emailtotry = "test@test.com"; //this is email is NOT in Constant Contact
ccdeleteuser($emailtotry);
现在如果我运行它,我会收到以下错误:
可捕获的致命错误:传递给 ConstantContact::deleteContact() 的参数 1 必须是 Contact 的实例,给定 null,在第 19 行的 [path to my page] 中调用,并在 [path to constant contact php wrapper file] 中定义在第 214 行
感谢任何帮助!
【问题讨论】:
-
你应该先检查
$SearchContact是否是一个数组;那么你就不用担心异常了。
标签: php try-catch constantcontact