PDA

View Full Version : throw کردن exception از داخل catch



Mojgan110
پنج شنبه 07 دی 1385, 11:38 صبح
throw کردن مجدد exception ی که در یک catch block هندل شده ، چه کاربردی میتونه داشته باشه ؟

titbasoft
پنج شنبه 07 دی 1385, 12:38 عصر
مثلا زمانی که می خواهید فقط یکی از exception هایی رو که با Message های مختلف اما از یک Type هستند رو هندل کنید.

Mojgan110
پنج شنبه 07 دی 1385, 15:16 عصر
مثلا زمانی که می خواهید فقط یکی از exception هایی رو که با Message های مختلف اما از یک Type هستند رو هندل کنید.

خب وقتی وارد کچ ! میشیم ، به اولیشون که برسیم هندل میکنه و میاد بیرون .
یعنی میگم که خودش هم فقط یکی از اون کچهایی که نوشتیم را هندل میکنه ، اولین اکسپشنی در کچ که باهاش جور باشه

درسته ؟

Behrouz_Rad
جمعه 08 دی 1385, 16:47 عصر
بیشترین کاربرد ایجاد Throw در یک Catch، پیاه سازی مفهوم Stack Unwinding هست. (فرآیندی که تلاش می کند یک Catch مناسب برای استثنا پیدا کند)
در فراخوانی تو در توی متدها کاربرد دارد.

موفق باشید.

Mojgan110
جمعه 08 دی 1385, 17:32 عصر
بله ، من هم خودم یه تستی کردم .
وقتی throw را مجددا داخل catch گذاشتم ، باعث شده که مدیریت خطا را یک سطح به بالاتر یعنی متد Main انتقال بده و درواقع CLR را مسوولش کنه .
( توی شکل ، مثالی از چیزی که منظورم بود را نوشتم )


http://www.kdimage.com/out.php/t10492_1.PNG (http://www.kdimage.com/show.php/10492_1.PNG.html)