Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Oman poikkeus- käsittelyfunktion tMyn1 Oman poikkeuskäsittelyfunktion määrittely Funktion tulisi muodostaa ainoastaan sellaisia poikkeuksia, jotka on sallittu.

Samankaltaiset esitykset


Esitys aiheesta: "Oman poikkeus- käsittelyfunktion tMyn1 Oman poikkeuskäsittelyfunktion määrittely Funktion tulisi muodostaa ainoastaan sellaisia poikkeuksia, jotka on sallittu."— Esityksen transkriptio:

1 Oman poikkeus- käsittelyfunktion tMyn1 Oman poikkeuskäsittelyfunktion määrittely Funktion tulisi muodostaa ainoastaan sellaisia poikkeuksia, jotka on sallittu poikkeusten erittelyssä, mutta kääntäjä ei voi mitenkään varmistaa että näin todella tapahtuu. Jos funktio muodostaa poikkeuksen, joka ei ole sen poikkeusten erittelyssä, poikkeusta ei välitetä funktion ulkopuolelle, koska tällöin erittelyllä ei olisi mitään merkitystä.

2 Oman poikkeus- käsittelyfunktion tMyn2 Sen sijaan poikkeus saa aikaan tapahtumaketjun, jonka alussa kutsutaan standardikirjaston funktiota unexpected(). Funktio unexpected() kutsuu oletuskäsittelijäfunktiota, jonka oletustoiminta on standardikirjaston funktion terminate() kutsuminen. Tämä oletusarvoinen toiminta voidaan korvata omalla käsittelijäfunktiolla. Omatekoinen poikkeuksenkäsittelyfunktio annetaan set_unexpected()-funktion argumenttina.

3 Oman poikkeus- käsittelyfunktion tMyn3 Funktio terminate() kutsuu oletusarvoista suorituksen päättymisfunktiota, joka kutsuu abort()-funktiota, joka puolestaan lopettaa ohjelman suorituksen. Tämä oletusarvoinen toiminta voidaan korvata omalla päättymisfunktiolla. Kokeillaan että se toimii:

4 Oman poikkeus- käsittelyfunktion tMyn4 #include "stdafx.h" #include using namespace System; using namespace std; void peliPoikki(); int main(array ^args) { double osamaara, jaettava, jakaja; set_unexpected(peliPoikki); cout<<"Anna jaettava: "; cin>>jaettava; cout<<"Anna jakaja: "; cin>>jakaja; if(jakaja==0) unexpected();

5 Oman poikkeus- käsittelyfunktion tMyn5 else { osamaara=jaettava/jakaja; cout<<"Osam\204\204r\204ksi saatiin " <<osamaara<<"."<<endl; } return 0; } void peliPoikki() { cout<<"Ohjelman suoritus keskeytyi omaan nokkeluuteesi!\n" <<"My\224nn\204 t\224pp\204ilysi!!\n"; exit(1); }


Lataa ppt "Oman poikkeus- käsittelyfunktion tMyn1 Oman poikkeuskäsittelyfunktion määrittely Funktion tulisi muodostaa ainoastaan sellaisia poikkeuksia, jotka on sallittu."

Samankaltaiset esitykset


Iklan oleh Google