در این مطلب، ویدئو آموزش پایتون: استفاده از بلوکهای Try/Except برای مدیریت خطا با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,070
سلام اوضاع چطور است همه در این
2
00:00:02,070 –> 00:00:03,870
ویدیو
3
00:00:03,870 –> 00:00:07,140
با
4
00:00:07,140 –> 00:00:09,179
یادگیری نحوه عملکرد این بلوکهای try/except
5
00:00:09,179 –> 00:00:09,690
6
00:00:09,690 –> 00:00:11,429
در حال حاضر این بلوکهای try/except ممکن است
7
00:00:11,429 –> 00:00:12,750
برای افرادی که با آنها آشنایی ندارند گیجکننده باشد، به نحوه رسیدگی به خطاها و استثناها در پایتون خواهیم پرداخت.
8
00:00:12,750 –> 00:00:14,849
آنها در واقع می
9
00:00:14,849 –> 00:00:16,410
توانند بسیاری از بخش های مختلف داشته باشند، مانند ما
10
00:00:16,410 –> 00:00:19,949
این آزمایش را داریم به جز موارد دیگر، و در نهایت،
11
00:00:19,949 –> 00:00:21,510
بیایید نگاهی بیندازیم به اینکه دقیقاً اینجا چه خبر
12
00:00:21,510 –> 00:00:23,699
است و چگونه می توانیم از آنها استفاده کنیم،
13
00:00:23,699 –> 00:00:25,800
در اکثر مواقع ما فقط می خواهیم
14
00:00:25,800 –> 00:00:28,529
ابتدا از آنها استفاده کنیم. برای امتحان کردن و به غیر از
15
00:00:28,529 –> 00:00:29,939
این فعلا، من میروم و
16
00:00:29,939 –> 00:00:33,059
این مورد دیگر را نظر میدهم و در نهایت، پس
17
00:00:33,059 –> 00:00:34,620
اول از همه، چرا ما حتی به امتحان نیاز داریم
18
00:00:34,620 –> 00:00:36,710
و به جز بلاک کردن در وهله اول،
19
00:00:36,710 –> 00:00:39,660
خوب اجازه دهید کدی را اجرا کنیم که
20
00:00:39,660 –> 00:00:42,090
خطا میدهد و آن را نشان میدهد. ممکن است به ما ایده بهتری درباره
21
00:00:42,090 –> 00:00:44,280
اینکه چرا به این نیاز داریم به ما بدهد، بنابراین من سعی
22
00:00:44,280 –> 00:00:46,350
می کنم یک فایل را در اینجا باز کنم اگر به
23
00:00:46,350 –> 00:00:48,120
پوشه فعلی که در آن هستم نگاه کنیم، این
24
00:00:48,120 –> 00:00:51,660
تست underscore file.txt داریم، بیایید سعی کنیم آن را
25
00:00:51,660 –> 00:00:54,300
باز کنیم. و بیایید به طور تصادفی
26
00:00:54,300 –> 00:00:57,059
خط زیر را کنار بگذاریم، بنابراین اگر
27
00:00:57,059 –> 00:00:59,910
فایل آزمایشی را انجام دادم انجام دهید t txt بدون زیرخط اکنون
28
00:00:59,910 –> 00:01:02,219
اگر این را اجرا کنم، می بینید که ما
29
00:01:02,219 –> 00:01:05,700
این خطای طولانی ردیابی بازگشت را در اینجا دریافت می کنیم، اکنون
30
00:01:05,700 –> 00:01:08,070
این برای ما به عنوان توسعه دهنده مفید است
31
00:01:08,070 –> 00:01:09,420
زیرا اطلاعات مفید زیادی به ما می دهد،
32
00:01:09,420 –> 00:01:12,420
ما این شماره خط را در اینجا داریم و
33
00:01:12,420 –> 00:01:14,640
خطای فایل پیدا نشد. و دقیقاً چه
34
00:01:14,640 –> 00:01:17,369
اتفاقی افتاده است، اما اگر چنین خطایی دریافت
35
00:01:17,369 –> 00:01:18,900
کنیم، نمی خواهیم چیزی شبیه
36
00:01:18,900 –> 00:01:21,270
به این برای افرادی که از نرم افزار ما استفاده می کنند نمایش داده شود،
37
00:01:21,270 –> 00:01:23,610
بنابراین اگر بتوانیم
38
00:01:23,610 –> 00:01:26,280
بخش هایی از کد خود را پیش بینی کنیم که
39
00:01:26,280 –> 00:01:28,590
ممکن است خطا یا استثنا ایجاد کند،
40
00:01:28,590 –> 00:01:30,869
ما میتوانیم از این بلوکها استفاده کنیم و
41
00:01:30,869 –> 00:01:32,549
آنها را به روشی که میخواهیم بپذیریم،
42
00:01:32,549 –> 00:01:34,380
بنابراین کاری که من در اینجا انجام میدهم
43
00:01:34,380 –> 00:01:36,000
این است که کدی را که از طریق
44
00:01:36,000 –> 00:01:40,259
هوا به این بخش امتحان در اینجا و
45
00:01:40,259 –> 00:01:43,799
در این بلوک پذیرش I منتقل میکنم. من فقط
46
00:01:43,799 –> 00:01:47,880
یک خطا و یک علامت تعجب چاپ
47
00:01:47,880 –> 00:01:50,100
می کنم در واقع اجازه دهید این را
48
00:01:50,100 –> 00:01:52,500
کمی دقیق تر کنم، می خواهم بگویم متأسفم
49
00:01:52,500 –> 00:01:58,200
این فایل وجود ندارد، بنابراین اکنون اگر
50
00:01:58,200 –> 00:01:58,860
این کد را اجرا
51
00:01:58,860 –> 00:02:01,350
کنم، می توانید ببینید که ما به جای آن خطای سفارشی خود را دریافت می کنیم.
52
00:02:01,350 –> 00:02:05,040
از آن طولانی تر
53
00:02:05,040 –> 00:02:07,079
پرمخاطب تر خطایی که پایتون قبلاً به ما داده بود،
54
00:02:07,079 –> 00:02:09,449
بنابراین دقیقاً اینجا
55
00:02:09,449 –> 00:02:12,000
چه اتفاقی میافتد، بنابراین چه اتفاقی میافتد این است که در
56
00:02:12,000 –> 00:02:13,950
بلوک try ما سعی میکنیم
57
00:02:13,950 –> 00:02:17,340
کدی را اجرا کنیم و این یک
58
00:02:17,340 –> 00:02:19,950
استثنا را در اینجا
59
00:02:19,950 –> 00:02:21,599
پرتاب میکند، پس اگر یک استثنا ایجاد کرد، ما میرویم. به ما
60
00:02:21,599 –> 00:02:24,360
قبول کنید و سپس این خط را در اینجا چاپ می کند،
61
00:02:24,360 –> 00:02:27,300
اکنون این استثنا در اینجا
62
00:02:27,300 –> 00:02:30,450
به نوعی مبهم است، اگر به یاد داشته باشید
63
00:02:30,450 –> 00:02:32,670
زمانی که این کد را خارج از بلوک try اجرا
64
00:02:32,670 –> 00:02:33,450
65
00:02:33,450 –> 00:02:36,390
کردیم، با خطای عدم یافتن فایل مواجه شدیم و
66
00:02:36,390 –> 00:02:38,069
در واقع می خواهیم به عنوان
67
00:02:38,069 –> 00:02:39,750
زمانی که استثناهایمان را میگیریم، تا حد ممکن خاص است،
68
00:02:39,750 –> 00:02:42,269
زیرا هدف از
69
00:02:42,269 –> 00:02:45,060
پذیرش Tri این نیست که
70
00:02:45,060 –> 00:02:47,010
همه استثناها و خطاهایی را که ممکن است با آنها مواجه شویم دور بزنیم،
71
00:02:47,010 –> 00:02:50,190
بلکه به این معنی است که
72
00:02:50,190 –> 00:02:51,750
خطاهایی را که انتظار داریم را بگیریم و آنها را به درستی مدیریت کنیم.
73
00:02:51,750 –> 00:02:54,450
یک استثنای کلی در اینجا نه
74
00:02:54,450 –> 00:02:57,569
تنها خطاهای خطا پیدا نمی شود
75
00:02:57,569 –> 00:02:59,790
بلکه بسیاری از
76
00:02:59,790 –> 00:03:01,110
مشکلات مختلف دیگر را نیز می گیرد که ممکن است با آنها مواجه شویم،
77
00:03:01,110 –> 00:03:04,410
به عنوان مثال در اینجا اگر بخواهم
78
00:03:04,410 –> 00:03:07,829
نام فایل را درست کنم و سپس
79
00:03:07,829 –> 00:03:11,190
یک خط در زیر آن قرار دهم. در اینجا بیایید فقط یک
80
00:03:11,190 –> 00:03:13,920
تکلیف بد انجام دهیم، بنابراین می گویم که مساوی است با
81
00:03:13,920 –> 00:03:17,549
نوار بد و اگر این را اجرا کنم،
82
00:03:17,549 –> 00:03:19,739
می بینید که دقیقاً همان چیزی را دریافت می کنیم که
83
00:03:19,739 –> 00:03:21,750
این استثنا را می زند و سپس می گوید متأسفم
84
00:03:21,750 –> 00:03:24,540
این فایل وجود ندارد، اجازه دهید این کمی را درست کنم
85
00:03:24,540 –> 00:03:27,150
اشتباه تایپی در اینجا است، بنابراین آنچه در اینجا رخ داده
86
00:03:27,150 –> 00:03:29,880
است در داخل ماست بلوک سعی کنید این کد
87
00:03:29,880 –> 00:03:32,549
در واقع با موفقیت اجرا شد و این همان
88
00:03:32,549 –> 00:03:34,049
چیزی است که استثنا را ایجاد کرد، اما در
89
00:03:34,049 –> 00:03:35,910
حال حاضر مشخص نیست زیرا این خیلی
90
00:03:35,910 –> 00:03:37,769
کلی است، بنابراین کاری که من می خواهم انجام دهم این است
91
00:03:37,769 –> 00:03:41,430
که این را تغییر می دهم. خطای catch a
92
00:03:41,430 –> 00:03:45,750
file not found. بنابراین حالا اگر این را ذخیره کنم
93
00:03:45,750 –> 00:03:48,299
و اجرا کنم، می بینید که
94
00:03:48,299 –> 00:03:51,090
ردپای پایتون معمولی را به عقب برمی گردانیم که
95
00:03:51,090 –> 00:03:53,130
چیز خوبی است، بنابراین اتفاقی که در اینجا افتاد این است که
96
00:03:53,130 –> 00:03:55,079
وارد شد و این فایل را باز کرد و آن را باز کرد.
97
00:03:55,079 –> 00:03:56,280
خطایی بود که میخواستیم آن را پیدا کنیم
98
00:03:56,280 –> 00:03:58,549
و سپس این یک
99
00:03:58,549 –> 00:04:02,549
استثنا غیرمنتظره در اینجا بود و میتوانید اینجا ببینید که
100
00:04:02,549 –> 00:04:05,000
این یک خطای نام است و ما فقط
101
00:04:05,000 –> 00:04:08,190
خطاهای یافت نشد فایل را میگیریم، بنابراین
102
00:04:08,190 –> 00:04:10,109
گرفتار نشد و نشد
103
00:04:10,109 –> 00:04:12,959
این کد را در اینجا اجرا کنید و به جای آن فقط
104
00:04:12,959 –> 00:04:15,359
Py پیش فرض را چاپ کرد
105
00:04:15,359 –> 00:04:17,279
حالا اگر میخواهیم
106
00:04:17,279 –> 00:04:19,470
استثناهای کلیتری را بگیریم، در واقع میتوانیم
107
00:04:19,470 –> 00:04:23,039
یک مورد دیگر را به جز زیر این اضافه کنیم، بنابراین اگر
108
00:04:23,039 –> 00:04:26,760
بگویم به جز یک استثنا و سپس
109
00:04:26,760 –> 00:04:27,540
در اینجا
110
00:04:27,540 –> 00:04:30,660
فقط میخواهم چاپ کنم، ببینیم
111
00:04:30,660 –> 00:04:35,030
فقط چیزی را چاپ خواهم کرد.
112
00:04:35,210 –> 00:04:38,010
حالا اگر چندین استثنا را مدیریت
113
00:04:38,010 –> 00:04:40,230
میکنید، مطمئن باشید
114
00:04:40,230 –> 00:04:43,080
که استثناهای خاصتر را در بالا قرار میدهید
115
00:04:43,080 –> 00:04:45,720
و موارد کلیتر را
116
00:04:45,720 –> 00:04:47,850
هر چقدر پایین بیاورید، زیرا اگر بخواهم
117
00:04:47,850 –> 00:04:50,070
این استثنای کلی را اینجا در بالا
118
00:04:50,070 –> 00:04:52,080
قرار دهم، همیشه ابتدا آن یکی را می
119
00:04:52,080 –> 00:04:54,240
زنم و من هرگز به خطای file not
120
00:04:54,240 –> 00:04:56,280
found نمی رسم اکنون در حال
121
00:04:56,280 –> 00:04:58,650
چاپ چند پیام سفارشی در اینجا هستیم، اما اگر
122
00:04:58,650 –> 00:05:01,440
بخواهم فقط استثنایی را
123
00:05:01,440 –> 00:05:04,230
که ایجاد کرده است چاپ کنم، می توانم همین کار را انجام دهم و
124
00:05:04,230 –> 00:05:05,220
شما می توانید هر چیزی را که می خواهم بگویم E نامگذاری کنید
125
00:05:05,220 –> 00:05:07,620
و من می توانم E را چاپ
126
00:05:07,620 –> 00:05:09,480
کنم و همچنین می توانم این کار را برای
127
00:05:09,480 –> 00:05:11,550
خطای فایل پیدا نشد انجام دهم – بنابراین به عنوان E انجام می دهم و
128
00:05:11,550 –> 00:05:14,850
به جای این پیام سفارشی
129
00:05:14,850 –> 00:05:17,640
چاپ می کنم E و اگر اجرا کنم که می توانید
130
00:05:17,640 –> 00:05: