בלוק try-catch
שיעור 17 מתוך 23 בקורס טיפול בקבצים ב-C++ של Coddy.
בלוק try נוצר באמצעות מילת המפתח try ואחריה סוגריים מסולסלים. אנחנו משתמשים בבלוק try כדי לתחום פקודות שעלולות לגרום לחריגה ולמנוע מהתוכנית לפעול כראוי.
כשפותחים קובץ לקריאה או לכתיבה, דברים שונים עלולים להשתבש, למשל הקובץ לא קיים, בעיות הרשאות או שנגמר שטח האחסון בדיסק. על ידי הצבת פעולות הקובץ שלך בתוך בלוק try, אפשר לצפות מראש את הבעיות האלה ולהכין את התוכנית שלך לטפל בהן ביעילות.
string error_message = "File can't be found"
ifstream file;
try {
file.open("example.txt");
if(!file.is_open())
throw s;
}בתוכנית הזאת, אם הקובץ לא קיים, התוכנית תנסה לפתוח אותו, אבל תיכשל. במקרה כזה, ההודעה File can't be found will be thrown
בלוק catch משמש להגדרת האופן שבו התוכנית שלך צריכה להגיב כאשר נזרקת חריגה בתוך בלוק try תואם. בהקשר של טיפול בקבצים, הדבר חיוני לשמירה על החוסן והאמינות של היישום שלך.
string error_message = "File not found"
ifstream file;
try {
file.open("example.txt");
if(!file.is_open())
throw error_message;
} catch(string msg) {
cerr << msg << endl;Output:
File not found בלוק catch הזה לוכד את הודעת השגיאה ומציג אותה, וכך מאפשר לתוכנית שלך לטפל בשגיאה.
כך אפשר לטפל בכל שגיאה
אתגר
קלנסה לפתוח 3 קבצים
code.txtmessages.txtpython.txt
אם אפשר לפתוח את הקבצים בסדר הזה, זרוק את „הודעת השגיאה” File opened successfully; אחרת, זרוק את הודעת השגיאה Unable to open file, שאותה תלכוד ותדפיס בהמשך.
נסו בעצמכם
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// כתבו את הקוד שלכם כאן
return 0;
}כל השיעורים ביחידה טיפול בקבצים ב-C++
תרגלו בעצמכם: קומפיילר C++ אונליין