האם זריקה חריגה מפסיקה את ביצוע C++?
האם זריקה חריגה מפסיקה את ביצוע C++?

וִידֵאוֹ: האם זריקה חריגה מפסיקה את ביצוע C++?

וִידֵאוֹ: האם זריקה חריגה מפסיקה את ביצוע C++?
וִידֵאוֹ: איך להטריף מינית את האישה שאיתך עם טל רומן ואיתי שבו 2024, נוֹבֶמבֶּר
Anonim

לזרוק בדרך כלל גורם לפונקציה לבטל, לסיים מיד, אז אתה גם אם אתה לַעֲשׂוֹת לשים כל קוד אחריו (בתוך אותו בלוק), זה לא יעשה זאת לבצע . זה מתאים גם ל-C++ וגם ל-C#.

מכאן, איך זורקים חריג ב-C++?

זריקת חריגים חריגים יכול להיות נזרק בכל מקום בתוך בלוק קוד באמצעות לזרוק הַצהָרָה. האופרנד של ה לזרוק ההצהרה קובעת סוג עבור יוצא מן הכלל ויכול להיות כל ביטוי וסוג התוצאה של הביטוי קובע את הסוג של חריג נזרק.

יכול למחוק לזרוק חריג? יוצא מן הכלל מ " לִמְחוֹק " פחית לא לזרוק חריגים ? לא אבל לזרוק חריגים מהרסנים זה לא הרעיון הכי גדול בעולם. אפשרי עבור לִמְחוֹק foo; ל לזרוק אם פו הורס או משהו שהוא קורא לו יכול לזרוק.

פשוט כך, האם יוצאי דופן הם C++ גרועים?

הסיבה העיקרית חריגים ב-C++ לעתים קרובות כל כך אסורים זה שקשה מאוד לכתוב יוצא מן הכלל בטוח C++ קוד. יוצא מן הכלל בטיחות הוא לא מונח ששומעים לעתים קרובות מאוד, אלא בעצם אומר קוד שלא מקלקל את עצמו יותר מדי אם הערימה מתפרקת.

מהו הטיפול בחריג ב-C++?

טיפול בחריגים ב-C++ הוא תהליך ל ידית שגיאות זמן ריצה. אנחנו מופיעים טיפול חריג כך שניתן לשמור על הזרימה הרגילה של היישום גם לאחר שגיאות בזמן ריצה. ב-C++, יוצא מן הכלל הוא אירוע או אובייקט אשר נזרק בזמן ריצה. את כל חריגים נגזרים מ-std:: יוצא מן הכלל מעמד.