PHP这段代码为什么打印不出自定义的异常信息

帖子列表 发布于 2012/11/20 16:06
阅读 623
收藏 1
PHP
class Phxexception extends Exception
{
    public function __construct()
    {
        parent::__construct();
    }

    public function getMsg()
    {
        $message = $this->getLine() . $this->getMessage();
        return $message;
    }
}

try {
    throw new Phxexception("异常信息");
} catch(Phxexception $e) {
    echo $e->getMsg();
}

加载中
0
drupalmaster
drupalmaster

楼上正解,不过问题的根源,是你覆盖了父类的构造函数!用楼上的方法可以解决,用下面这个代码也可以。。。

<?php
class Phxexception extends Exception
{
    public function getMsg()
    {
        $message = $this->getLine() . $this->getMessage();
        return $message;
    }
}

try {
    header("Content-type:text/html;charset=utf-8");
    throw new Phxexception("异常信息");
} catch(Phxexception $e) {
    echo $e->getMsg();
}

drupalmaster
drupalmaster
回复 @李马燕 : 定义输出文字的编码啊,防止出现乱码
帖子列表
帖子列表
为啥加个header
0
fzxu_05
fzxu_05

Phxexception("异常信息");

有异常catch代码块才会执行


显然这里不会执行catch


0
帖子列表
帖子列表

引用来自“fzxu_05”的答案

Phxexception("异常信息");

有异常catch代码块才会执行


显然这里不会执行catch


显然? 为啥显然? 我throw了Phxexception了啊!
0
晴风晓月
晴风晓月
构造函数没有把错误信息传入
leo108
leo108
+1
0
drupalmaster
drupalmaster
哈哈,今天一上来,看到把我的答案弄成最佳答案了,好高兴啊,呵呵
帖子列表
帖子列表
应该的
0
希恩凌志
希恩凌志
php 对try似乎没有什么用啦。
返回顶部
顶部