Php 红豆';s异常处理不起作用?
我是RedbeanPHP(v4.0.4)的新手,并尝试了一下 然而,每当我试图强制执行错误(加载不存在的bean、存储错误的类型值等),它都不会抛出任何异常 无论我犯了什么错误,它似乎总是成功的 例如:Php 红豆';s异常处理不起作用?,php,redbean,Php,Redbean,我是RedbeanPHP(v4.0.4)的新手,并尝试了一下 然而,每当我试图强制执行错误(加载不存在的bean、存储错误的类型值等),它都不会抛出任何异常 无论我犯了什么错误,它似乎总是成功的 例如: require APP .'libs/redbean/rb.php'; R::setup($dsn, $user, $pass); R::freeze(true); $book = R::load('book', 25); // unexisting record R::begin()
require APP .'libs/redbean/rb.php';
R::setup($dsn, $user, $pass);
R::freeze(true);
$book = R::load('book', 25); // unexisting record
R::begin();
try
{
R::trash($book);
R::commit();
echo 'book trashed'; // always shows this
}
catch (Exception $e)
{
R::rollback();
echo $e; // not showing this
}
有什么想法吗?“RedbeanHP”的设计相当“灵活”。这意味着如果使用正确的语法,则不太可能失败。然而,对于你可能会想到的“错误”,它并不总是按照你的期望或愿望去做。这在很大程度上取决于“R::setup”中的“冻结”设置 在“荷载”的情况下,如:
$book = R::load('book', 25); // unexisting record
redbeanphp将其视为“R::dispense('book')”语句,如果找不到具有该“id”的记录,则返回空记录。返回的“bean”的id将为零
在“invalid columns”或“values”的情况下,如果没有在“R::setup”连接语句上冻结数据库,那么它只会创建列并更改值
如果您想要更严格,那么“冻结”数据库和/或查看“FUSE”,它允许“model”类自动链接到“bean”。在这些“模型”类中,您可以包含大量的检查、验证等。我使用“redbeanphp”并且非常喜欢它。如果您有任何问题或疑问,并且您认为我可能能够提供帮助,我的个人资料将提供如何与我联系的详细信息。@RyanVincent谢谢!我会记住的!:)