
WEBVTT

00:00.170 --> 00:00.650
خوب.

00:00.650 --> 00:06.890
در این ویدیو می‌خواهم به شما نشان دهم که اگر این بلوک catch exception را نداشته باشید، چه اتفاقی می‌افتد.

00:06.890 --> 00:11.570
و شما با یک استثنا مواجه می‌شوید که آن را نادیده گرفته‌اید.

00:11.570 --> 00:14.420
بنابراین ما این استثناهای مختلف را داریم.

00:14.420 --> 00:17.570
تقسیم بر صفر، استثنای فرمت، استثنای سرریز.

00:17.570 --> 00:20.750
بنابراین حالا بیایید این استثنا را از بین ببریم.

00:20.750 --> 00:24.470
و همچنین استثنای سرریز را، من این خطوط را کامنت می‌زنم، خوب؟

00:24.470 --> 00:26.750
بنابراین آن‌ها کامپایل نخواهند شد.

00:26.750 --> 00:29.780
حالا بگذارید این را اجرا کنم و به شما نشان دهم که منظورم چیست.

00:29.780 --> 00:33.170
بنابراین فرض کنید می‌خواهم دوباره سرریز کنم.

00:33.170 --> 00:34.940
و اینجا هستیم.

00:34.940 --> 00:37.520
حالا برنامه ما خراب می‌شود.

00:37.520 --> 00:38.720
چرا خراب می‌شود؟

00:38.720 --> 00:42.920
خوب، زیرا استثنای سرریز ما مدیریت نشده است.

00:42.920 --> 00:50.780
خوب، حالا بگذارید به شما نشان دهم که اگر این استثنا را دوباره uncomment کنیم و اینگونه عمل کنیم چه اتفاقی می‌افتد؟

00:50.780 --> 00:51.800
بیایید دوباره آن را اجرا کنیم.

00:51.800 --> 00:53.690
حالا بگذارید دوباره سرریز کنم.

00:53.690 --> 00:54.680
و می‌بینیم.

00:54.680 --> 01:00.290
ما استثنای سرریز را برای ما نمایش می‌دهد، اما برنامه ما هنوز اجرا می‌شود.

01:00.290 --> 01:01.400
بنابراین اجرا می‌شود.

01:01.400 --> 01:03.890
نتیجه را نمایش می‌دهد، بنابراین خراب نمی‌شود.

01:03.890 --> 01:09.050
این به این دلیل است که این استثنای پیش‌فرض واقعاً، واقعاً قدرتمند است.

01:09.050 --> 01:15.770
این تمام انواع دیگر استثناهایی را که ما به طور خاص نادیده گرفته‌ایم مدیریت می‌کند.

01:15.770 --> 01:19.010
بنابراین ما به طور خاص تقسیم بر صفر را فراخوانی کردیم.

01:19.040 --> 01:21.350
ما به طور خاص استثنای فرمت را فراخوانی کردیم.

01:21.350 --> 01:26.210
اما ما به طور خاص استثنای سرریز را نادیده گرفتیم زیرا آن را کامنت کردیم.

01:26.210 --> 01:32.630
بنابراین این استثنای پیش‌فرض تمام انواع دیگر استثناهایی را که وجود دارند مدیریت می‌کند.

01:32.630 --> 01:33.080
خوب.

01:33.110 --> 01:40.040
حالا این مدیریت خاص استثنا که ما در ویدیو قبلی انجام دادیم هنوز هم مفید است.

01:40.040 --> 01:47.330
این زمانی مفید است که واقعاً می‌خواهید کد خاصی را در صورت وقوع یک استثنای خاص اجرا کنید.

01:47.330 --> 01:53.570
خوب، حالا چه اتفاقی می‌افتد اگر این خط را کامنت کنم اما استثنای سرریز را بگذارم.

01:53.570 --> 01:55.070
بنابراین این را uncomment می‌کنم.

01:55.070 --> 02:01.070
خوب، در این مثال سرریز ما فقط خطا را می‌گیرد و همه چیز به خوبی کار می‌کند.

02:01.070 --> 02:09.740
اما حالا ما هیچ خطایی را که به آن فکر نکرده‌ایم مدیریت نمی‌کنیم زیرا گفتیم خوب، به تو نیاز نداریم

02:09.740 --> 02:11.600
رئیس یا مادر.

02:11.600 --> 02:17.990
این چیزی است که این استثنا در اینجا است، زیرا این استثنای والد تمام استثناهای دیگر است.

02:17.990 --> 02:19.340
بگذارید به شما نشان دهم که منظورم چیست.

02:19.340 --> 02:22.910
و این بعداً وقتی به ارث‌بری می‌پردازیم، بیشتر معنا پیدا می‌کند.

02:22.910 --> 02:30.380
بنابراین اگر بر روی استثنای سرریز کلیک کنید و کلید کنترل را نگه دارید یا در مک کلید فرمان را فشار دهید،

02:30.380 --> 02:34.760
می‌توانید ببینید که این کلاس به نام Overflow exception وجود دارد.

02:34.760 --> 02:37.250
اما سپس چیزی عجیب بعد از آن می‌آید.

02:37.250 --> 02:42.980
می‌بینید، یک دو نقطه می‌آید و سپس می‌گوید استثنای حسابی.

02:42.980 --> 02:50.870
حالا بیایید کلید کنترل را فشار دهیم و بر روی استثنای حسابی کلیک کنیم و دوباره می‌بینیم که می‌گوید public

02:50.870 --> 02:51.260
class.

02:51.260 --> 02:52.910
و سپس این استثنای حسابی وجود دارد.

02:52.910 --> 02:56.420
اما سپس از چیزی به نام استثنای سیستم ارث می‌برد.

02:56.420 --> 02:58.550
بنابراین این دو نقطه به این معنی است که ارث می‌برد.

02:58.580 --> 03:00.650
حالا بیایید به استثنای سیستم نگاه کنیم.

03:00.650 --> 03:05.150
و این دوباره یک کلاسی است که این بار از استثنا ارث می‌برد.

03:05.150 --> 03:16.070
بنابراین برای اینکه حتی به استثنای سرریز خود برسیم، به چندین لایه از استثناها نیاز داریم که باید

03:16.070 --> 03:21.200
از آن‌ها عبور کنیم تا حتی به استثنای مادر نهایی برسیم.

03:21.200 --> 03:24.050
بنابراین اساساً، این استثنای مادر استثنای سرریز نیست.

03:24.050 --> 03:29.540
من فکر می‌کنم این مادربزرگ، مادربزرگ یا چیزی شبیه به آن است زیرا با چندین لایه ارث‌بری وجود دارد.

03:29.810 --> 03:32.780
بنابراین همانطور که گفتم، نگران آن نباشید.

03:32.780 --> 03:35.270
ما به زودی به ارث‌بری به طور عمیق‌تر خواهیم پرداخت.

03:35.270 --> 03:43.610
اما این فقط یک نگاهی اجمالی، یک پیش‌نمایش به آنچه استثناها هستند بود.

03:43.610 --> 03:43.850
و دیدن اینکه ارث‌بری چیست، بسیار جالب‌تر خواهد بود، بنابراین به نظر می‌رسد که نگاهی به فصل ارث‌بری

03:43.850 --> 03:49.130
که فکر می‌کنم بعدی است یا شاید چند فصل بعد خواهیم داشت، بسیار منطقی خواهد بود.

03:49.130 --> 03:54.620
بنابراین این برای این ویدیو کافی است.

03:54.620 --> 03:57.440
فراموش نکنید که از مادرتان تشکر کنید.

03:57.470 --> 04:00.350
در واقع، دیروز روز مادر بود، حداقل در آلمان، بنابراین فراموش نکنید که از استثنای مادر خود تشکر کنید

04:00.350 --> 04:07.550
و در ویدیوی بعدی می‌بینیم.
```
