exception will bubble up

پرسیده شده
فعالیت 1096 روز پیش
دیده شده 352 بار
0

سلام

 

If an exception is thrown and its current function scope has no catch block, the exception will "bubble up" the call stack to the calling function until it finds a matching catch block.

 

منظور از exception will bubble up تو متن بالا چیه؟

فایل پیوست

علی.
علی.

9 اردیبهشت 00

0
حذف شده

سلام.

یعنی اگر در تابع جاری exception تولید شده مدیریت نشده باشد با توجه به ساختار سلسله مراتبی callstack به زنجیر بالایی منتقل میشود(مثلا تابع بالاتری که این تابع رو صدا زده) و همینطور به فراخوانی های بالاتر منتقل میشود تا به یک catch برسد. اگر هم این اکسپشن در هیچ کجا مدیریت نشده باشد یک fatal error اتفاق می افتد.

مثال:

<?php
function funcOne() {
    try {
        funcTwo();
        echo 'This will not run!';
    } catch(Exception $e) {
        echo $e->getMessage();
    }
}

function funcTwo() {
    funcThree();
}

function funcThree() {
    throw new Exception('An exception has occurred!');
}

// funcThree will bubble up to funcTwo, funcTwo will bubble up to funcOne
funcOne();
فایل پیوست

محسن موحد

توسط

محسن موحد

11 اردیبهشت 00

حذف شده
تشکر از پاسختون. یه سوال کوچیک هم داشتم اصولا Exception یک رویداد ناخواسته هست که در حین اجرای برنامه رخ میده و ما اون رو در قالب یک object دریافت میکنیم ؟ برداشت من از تعریف Exception درست هست یا نه
علی.

11 اردیبهشت 00

حذف شده
همیشه اینطور نیست، بعضی وقتها این اکسپشن ها رو خودمون تعریف میکنیم بعنوان مثال صفحاتی که وجود ندارن رو براش اکسپشن 404 تولید میکنیم، یا برای route ها و پارامترها و ...
محسن موحد

11 اردیبهشت 00

حذف شده
پس چطوری تعریف کنیم درستره ؟ تو مقاله های مختلف تعریف های مختلفی واسه exception گذاشتن کمی گیج کننده شده برام ممنون میشم اگه تعریف درستری سراغ دارین واسم بزارید
علی.

11 اردیبهشت 00

0
حذف شده

سلام و احترام

phrasal verb که شما آورید bubble up معانی مختلفی داره ولی توی این جمله با معنی ‘آشکار شدن’ هستش

فایل پیوست

امیر صالحی

توسط

امیر صالحی

9 اردیبهشت 00