جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
علیرضا
5 سال پیش توسط علیرضا مطرح شد
1 پاسخ

مدیریت ارور در php

سلام آقا
من همیشه اینطوری استثنا تعریف می کردم

                    throw new Exception('چنین تابعی یافت نشد ');

و همیشه درست کار میکرد ولی حالا تو یه مینی پروژم
برای من متن خودمو نمیزاره تو ارور ولی اگه \ اینو قبل اکسپشن بزارم کار میکنه
میخام بپرسم دلیلش چیه؟
اینم تابعی که ازش داخلش استفاده میکنم

    public function despatch($url)
    {
        $url = $this->remove($url);
        if ($this->match($url)) {
            var_dump($this->param);
            $controller = $this->param['controller'];
            $controller = $this->getnameSapce() . $controller;
            if (class_exists($controller)) {
                $obj = new $controller;
                $method = $this->param['actions'];
                if (method_exists($obj, $method)) {
                    call_user_func_array([$obj, $method], $this->param['item']);
                } else {
                    throw new Exception('چنین تابعی یافت نشد ');
                }

            } else {
                throw new Exception('چنین کلاسی یافت نشد');
            }
        } else {
            throw new Exception('چنین  آدرسی یافت نشد ');
        }
    }

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

اکسپشن ها از نسخه ۵ PHP اضافه شدند و از نسخه ۷ از اینترفیس Throwable هم استفاده میشه.
خلاصه ای از این کلاس به شکل زیر هست:

 Exception implements Throwable {
/* Properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methods */
public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] )
final public getMessage ( void ) : string
final public getPrevious ( void ) : Throwable
final public getCode ( void ) : mixed
final public getFile ( void ) : string
final public getLine ( void ) : int
final public getTrace ( void ) : array
final public getTraceAsString ( void ) : string
public __toString ( void ) : string
final private __clone ( void ) : void
}

و با قرار دادن \ قبل از Exception شما در واقع به نیم‌اسپیپ روت اشاره می‌کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام