Originariamente inviato da Dunix
Tanto i due linguaggi si possono mischiare, no?
Eh?
Ma proprio per nulla... Moltissimo codice C++ non lo puoi usare in programmi in C, e viceversa il C++ non sopporta qualcosa che non da nemmeno origini Warning nel C, questo sempre che non usi l'extern C {}...
Tutto cio' che riguarda le eccezioni esiste solo in C++, nel C non c'e'.
Riguardo a come si gestiscono le eccezioni...
codice:
try {
/* esegui del codice, richiami delle funziuoni etc */
} catch ( tipo e ) { /* tipo = il tipo d'errore */
/* se si finisce qui si e' verificato l'errore... Tale errore e' indicato dalla var e */
}
Quando una funzione o un operatore commettono un errore ritornano una variabile... Nell'esempio lanciano una variabile di tipo "tipo"... Possono lanciare anche piu' variabili e di tipo diverso, in questo caso devi usare piu' catch (se vuoi gestirle tutte):
codice:
try {
/* esegui del codice, richiami delle funziuoni etc */
} catch ( tipo e ) { /* tipo = il tipo d'errore */
/* se si finisce qui si e' verificato l'errore... Tale errore e' indicato dalla var e */
} catch ( tipo2 e ) { /* tipo2 = il tipo d'errore */
/* se si finisce qui si e' verificato l'errore... Tale errore e' indicato dalla var e */
}
Se vuoi lanciare un'eccezione puoi farlo cosi':
Se non gestisci un'eccezione il programma termina.
Eccoti un esempio piu' completo:
codice:
try {
char *x = new char [1000000000];
} catch ( bad_alloc e ) {
printf ( "Durante l'allocazione si e' verificato un errore.\n" );
}
Spero di aver detto tutto giusto ancora conosco pochissimo il C++