PHP “Exception not found”

<?php namespace MyProject;
header("Content-Type: text/html; charset=utf-8");
error_reporting(0);
function theDataBaseObj()
{
    $mysql = mysql_connect("localhost","roost","root","9096");
    if($mysql){
        return $mysql; 
    }else{

        throw new Exception("Error Connect");
    }
}
function db()  
{
    try{
        $db = \MyProject\theDataBaseObj();
        echo("success");
        var_dump($db);
    }catch(Exception $e){
        echo("error");
        var_dump($e->getMessage());
    }
}
db();
?>

看陈小龙的PHP7实践指南的时候遇到的这个问题,如果成功还无所谓,但是如果你连接数据库失败的话,问题就出现了,你会发错误码255,页面并不会打印出任何东西。

于是很纠结的去翻了翻blog ,文章。
stack overflow上有一个方案解决。

就是添加一下 use Exception 使用原生的Exception ,否则会出现Exception not found;

<?php namespace MyProject;
header("Content-Type: text/html; charset=utf-8");
use Exception;//看这里,看这里
error_reporting(0);
function theDataBaseObj()
{
    $mysql = mysql_connect("localhost","roost","root","9096");
    if($mysql){
        return $mysql; 
    }else{

        throw new Exception("Error Processing Request");
    }
}
function db()  
{
    try{
        $db = \MyProject\theDataBaseObj();
        echo("success");
        var_dump($db);
    }catch(Exception $e){
        echo("error");
        var_dump($e->getMessage());
    }
}
db();
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值