Undantagshantering i C ++ - Del 5 Introduktion Detta är en del 5 av min serie, Undantag i C ++. I denna del av serien, tittar vi på klasser och undantag i C ++. Vårt fokus kommer att ligga på konstruktorfunktioner. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Exempel I det här exemplet har klassen en konstruktorfunktion. Konstruktorfunktionen har ett försök block och två catch -block.
Try-blocket av konstruktorfunktionen kontrollerar om argumenten för konstruktorfunktionen är inom räckhåll. Efter denna kontroll sker initieringen sker i blocket try. Läs och försök kod som följer: #include using namespace std; klass theClass {int först; dubbel andra; allmänheten: theClass (int aa, dubbel bb) {try {if ((AA10)) kasta aa; if ((bb70)) kasta bb; //gör faktiska initiering först = aa; andra = bb; } Catch (int EInt) {cout} catch (dubbel eDbl) {cout}}}; int main () {theClass theObj (-5, 66,6); återvända 0; } Observera: konstruktorfunktionen anropas vid instansiering.
Kasta instantiated objekt Precis som du kasta föremål mot grundläggande typer, kan du kasta instansieras objekt från klasser. Följande kod illustrerar detta: #include using namespace std; klass theClass {public: int först; dubbel andra; theClass (int aa, dubbel bb) {första = aa; andra = bb; }}; int main () {try {theClass theObj (8, 7,7); //några kontrollkoden kasta theObj; } Catch (theClass obj) {cout} return 0; } I try-blocket, objektet initierats och det kastas av någon anledning. I kasta instansieras objekt, behöver du inte parentesen med argumenten för initiering.
Parametern typ av fångstblocket är namnet på klassen. Namnet på klassen fungerar som objekttypen här. Slutsats Vi har sett många funktioner i C ++ Undantag i denna serie. Med dessa funktioner kan du göra många saker. Men för att vara en expert på undantag i C ++, måste du lära dig de fördefinierade undantagsklasser i standardbiblioteket som kommer med C ++ installationer. Jag kommer att ta upp dem snart. Vi har kommit till slutet av denna serie. Jag hoppas att ni uppskattar det.
Chrys att komma fram till någon av delarna i denna serie, skriv bara motsvarande titel nedan och mitt namn, Chrys i sökrutan på den här sidan och klicka på Sök (använd menyn om sådan finns): Grunderna i Undantag i C ++ kasta Flera Operander med C ++ Undantag Häckande Try-Catch block Ange Unda
net