خوش آمدید.
در این ویدیو به کلمه کلیدی throw خواهیم پرداخت.
شاید بپرسید throw چه کاری انجام می‌دهد.
خوب، کلمه کلیدی throw در C# برای نشان دادن این است که یک مشکل در برنامه شما رخ داده است.
بنابراین وقتی از throw استفاده می‌کنید، در واقع می‌گویید، هی، اینجا چیزی اشتباه است و من نمی‌توانم
به تنهایی آن را مدیریت کنم.
شما عمداً یک خطا ایجاد می‌کنید که به آن استثنا می‌گویند.
ما خواهیم دید که چگونه شخص دیگری، به اصطلاح، می‌تواند بعداً این خطا را مدیریت کند.
پس چرا باید از throw استفاده کنید؟
خوب، شما از آن برای جلوگیری از وقوع چیزهای بد استفاده می‌کنید.
اگر چیزی در برنامه شما، به عنوان مثال، درست نباشد، مانند اینکه یک فایل ضروری گم شده یا یک
عدد که هرگز نباید صفر باشد، صفر است.
استفاده از throw برنامه را قبل از اینکه آسیب بیشتری وارد شود متوقف می‌کند.
و سپس بخش دوم این است که به سایر بخش‌های برنامه شما در مورد مشکل اطلاع دهد.
بنابراین گاهی اوقات یک بخش از برنامه شما ممکن است ندانند چگونه یک مشکل را حل کند، اما بخش دیگری می‌داند.
بنابراین با استفاده از throw.
بخش اول می‌تواند اجازه دهد که بخش دوم مسئله را مدیریت کند و ما در ادامه این را خواهیم دید.
بنابراین به طور کلی می‌توان گفت که کلمه کلیدی throw اطمینان می‌دهد که هیچ چیزی در ادامه برنامه شما را خراب نکند
یا باعث آسیب غیرقابل جبرانی در آینده نشود.
بنابراین فرض کنید اگر این خطا را اکنون پرتاب نکنید، داده‌ای که نباید به پایگاه داده برود
به پایگاه داده خواهد رفت و ممکن است کل پایگاه داده را خراب کند، یا یک کاربر ممکن است به حقوق مدیر دسترسی پیدا کند،
هرچند که نباید به حقوق مدیر دسترسی پیدا کند، به عنوان مثال، درست است، یا به پایگاه داده
به طور کلی.
بنابراین اگر چیزی مانند این اتفاق بیفتد، می‌توانید با استفاده از کلمه کلیدی throw از آن جلوگیری کنید.
یا به طور کلی می‌توانید فقط یک خطا پرتاب کنید.
می‌توانید فقط بگویید، خوب، اگر این اتفاق بیفتد، نمی‌خواهم برنامه ادامه یابد، فقط برنامه را خراب کن.
این چیزی است که ما اینجا می‌گوییم.
بیایید نگاهی بیندازیم که این چگونه می‌تواند به نظر برسد.
بنابراین من این int get user h را دارم و ما یک h وارد می‌کنیم.
و سپس این h برگردانده خواهد شد.
بنابراین آنچه ما انجام می‌دهیم این است که ورودی کاربر را می‌گیریم.
ما سعی می‌کنیم آن را تجزیه کنیم.
و می‌گوییم ورودی را به من بدهید.
و ما h را می‌دهیم.
بنابراین اگر مشخص شود که هر رشته‌ای که وارد شده است می‌تواند به یک عدد صحیح تبدیل شود،
سپس ما آن را در h ذخیره خواهیم کرد.
این چیزی است که این out h انجام می‌دهد.
و این علامت تعجب فقط می‌گوید، خوب، اگر این کار نکرد،
اگر that try parse false برگرداند، پس می‌گوییم throw new exception.
شما یک h معتبر وارد نکردید.
بنابراین اگر h درست نبود، خوب، سپس ما این کار را انجام خواهیم داد.
در مرحله بعد می‌گوییم اگر h کمتر از صفر یا بیشتر از 120 باشد، ما نیز یک استثنا پرتاب خواهیم کرد.
می‌گوییم h شما باید بین 0 و 120 باشد.
حالا شما می‌توانید به وضوح در این مثال خاص، که بسیار، بسیار ساده است، واقعاً فقط
درباره نشان دادن نحوه کار کلمه کلیدی throw است.
این در مورد منطقی نیست که ما در یک برنامه واقعی پیاده‌سازی کنیم.
ما برنامه خود را به خاطر اینکه یک کاربر عدد درست را وارد نکرده است، خراب نمی‌کنیم، یا بنابراین ما می‌خواهیم
به وضوح آن را جمع‌آوری یا ضبط کنیم، یا از یک دستور if به طور مناسب استفاده کنیم، یا از try catch برای آن استفاده کنیم.
اما در این مورد، آنچه می‌خواهم به شما نشان دهم واقعاً این است که چگونه این کلمه کلیدی throw کار می‌کند و چگونه
در واقع یک استثنا ایجاد می‌کند و برنامه را خراب می‌کند.
بنابراین بیایید حالا از این استفاده کنیم.
راستی، ما بعد از آن h را برمی‌گردانیم.
بنابراین حالا بیایید از این متد در داخل متد اصلی خود استفاده کنیم.
و ما از console یا console.read line برای دریافت ورودی کاربر استفاده می‌کنیم و آن را به get user h خود منتقل می‌کنیم.
حالا برای اینکه بتوانم از این متد استفاده کنم، باید آن را static کنم
زیرا ما در داخل کلاس برنامه static خود هستیم.
در غیر این صورت این کار نمی‌کند.
بنابراین به کاربر نیز بگویید که می‌خواهیم h آن‌ها را داشته باشیم، "سن خود را وارد کنید" و سپس بیایید برنامه خود را اجرا کنیم.
بنابراین سن خود را وارد کنید.
من می‌خواهم پنج را وارد کنم.
همه چیز خوب است.
برنامه ما به طور بی‌نقص کار می‌کند.
حالا بیایید دوباره آن را اجرا کنیم.
و این بار می‌خواهم 125 را وارد کنم.
و می‌بینید که با این خطای سن مواجه می‌شوم که می‌گوید system.exception.
سن شما باید بین 0 و 120 باشد.
خوب.
بنابراین
گفت که این کار کرد، بنابراین می‌توانست هر چیزی را که وارد کردم به یک عدد تجزیه کند.
این خوب بود.
اما سپس بررسی کرد که آیا سن بین 0 و 120 است؟
خوب، نبود، بنابراین بد برای شما یا بدشانس.
برنامه خراب خواهد شد.
حالا بیایید باعث خراب شدن دیگری شویم.
بیایید چیزی وارد کنیم که عدد نیست.
و می‌بینید که این استثنای دیگری دریافت می‌کنیم.
بنابراین برنامه ما در اینجا خراب می‌شود.
می‌گوید شما یک سن معتبر وارد نکردید.
بنابراین حالا یک مثال بسیار ساده واقعاً این است که بگوییم خوب، اگر کاربر یک.
ران لنگبرگ.
ما برنامه را خراب می‌کنیم تا عدد نادرست، سن نادرست هرگز به پایگاه داده نرود یا برنامه فقط
نمی‌تواند کار کند.
اگر این به درستی وارد نشود، به عنوان مثال، پس ما فقط خواهیم گفت، هی، متاسفم، برنامه را خراب می‌کنیم.
خوب نیست، اما این همان است.
خوب، اما همانطور که گفتم، این واقعاً فقط زمانی منطقی خواهد بود که هر چیزی که با داده‌های نادرست اتفاق بیفتد
یا هر چیزی
باعث مشکلات عمده‌ای در آینده شود، مانند خراب کردن پایگاه داده شما یا دادن دسترسی به یک کاربر به حقوق مدیر
یا به پایگاه داده به طور کلی یا چیزی شبیه به آن.
خوب، بنابراین این‌ها فقط چند مثال بودند.
حالا می‌بینید که چگونه می‌توانید از کلمه کلیدی throw برای فعالانه ایجاد یک استثنا استفاده کنید.
حالا در ویدیوهای بعدی به استثناها و انواع مختلف آن‌ها خواهیم پرداخت.
ما چند استثنا را قبلاً دیده‌ایم، اما ندیدیم که چگونه می‌توانیم آن‌ها را به تنهایی مدیریت کنیم.
بنابراین به طور جداگانه، به اصطلاح، بسته به اینکه کدام استثنا گرفته شده است.
پس در ویدیوی بعدی می‌بینیم.