יסודות try-catch
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 23 מתוך 66.
טיפול בחריגות ב-C# מאפשר לך לנהל שגיאות בזמן ריצה באופן מבוקר. בלוק try-catch הוא הדרך הבסיסית לטפל בחריגות.
צרו בלוק try-catch בסיסי:
try
{
// קוד שעלול לזרוק חריגה (שגיאה)
int result = 10 / 0; // פעולה זו תזרוק DivideByZeroException
}
catch (Exception ex)
{
// טפל בחריגה
Console.WriteLine("An error occurred: " + ex.Message);
}לאחר הרצת הקוד שלמעלה, במקום שהתוכנית שלך תקרוס, תראה:
An error occurred: Attempted to divide by zero.אפשר להמשיך להריץ קוד אחרי בלוק ה־catch:
try
{
int result = 10 / 0;
Console.WriteLine("This won't execute");
}
catch (Exception ex)
{
Console.WriteLine("Caught an error: " + ex.Message);
}
Console.WriteLine("Program continues running");אתגר
קלצור מתודה בשם DivideNumbers שמקבלת שני מספרים שלמים כפרמטרים:
numerator- המספר שיש לחלקdenominator- המספר שבו יש לחלק
המתודה צריכה:
- לנסות לחלק את המונה במכנה
- להחזיר את התוצאה אם הפעולה הצליחה
- לתפוס כל DivideByZeroException ולהדפיס בדיוק: "Cannot divide by zero!"
- להחזיר 0 אם מתרחשת חריגה
נסו בעצמכם
using System;
class Program {
public static int DivideNumbers(int numerator, int denominator) {
// כתבו את הקוד שלכם כאן
}
static void Main(string[] args) {
int numerator = int.Parse(Console.ReadLine());
int denominator = int.Parse(Console.ReadLine());
int result = DivideNumbers(numerator, denominator);
Console.WriteLine(result);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין