05-10-2007, 10:18
|
|
|
|
חבר מתאריך: 01.05.06
הודעות: 7,861
|
|
נניח והרעיון שלך היה מעולה.
כשאתה יוצר את ה include אתה בעצם מכניס אותו לתוך לולאה של switch, ודבר כזה יכול להגביל אותך בשלב מסויים.
נגיד ואתה משתמש ב break.
יכולה להיווצר נגישות בין לולאת ה switch והקוד החדש שלך.
אבל אם אתה מתעקש להמשיך ברעיון שלך, יש דרך (שאף פעם לא ניסיתי) אבל אני חושב שהיא תעבוד:
קוד PHP:
<? try { switch(rand(0, 2)) { case 0: throw new Exception('regerror', 0); case 1: throw new Exception('othererror', 1); case 2: throw new Exception('extendederror', 2); } } // primary exceptions catch catch (Exception $e) { switch($e->getCode()) { case 0: try { throw new Exception('regerror', 0); } // inner catch catch (Exception $b) { echo $b->getMessage(); } break; case 1: try { throw new Exception('othererror', 1); } // inner catch catch (Exception $b) { echo $b->getMessage(); } break; default: try { throw new Exception('extendederror', 2); } // inner catch catch (Exception $b) { echo $b->getMessage(); } } } ?>
|