Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Una delle domande che spunta sempre fuori e': Quanto e' entusiastico il nostro supporto per UNIX? Lo UNIX e' stato scritto sulle nostre macchine e per le nostre macchine molti anni fa. Oggi, molto dello UNIX che viene fatto e' fatto sulle nostre macchine. Il dieci percento dei nostri VAX sono destinati all'uso di UNIX. Lo UNIX e' un linguaggio semplice, facile da capire, con cui e' facile iniziare. E' ottimo per gli studenti, ottimo per gli utenti casuali, ed e' ottimo per i programmi di interscambio tra macchine differenti. E cosi', per via della sua popolarita' in questi mercati, noi lo supportiamo. Abbiamo buon UNIX sui VAX e buon UNIX sui PDP-11. E' nostro credo, tuttavia, che i seri utenti professionali esauriranno le cose che possono fare con UNIX. Essi vorranno un sistema vero, ed arriveranno ad usare il VMS quando dovranno fare della programmazione seria. Con UNIX, se si sta cercando qualcosa, si puo' facilmente e velocemente controllare quel piccolo manuale, e concludere che non c'e'. Con VMS, non importa cosa si cerchi -- e' letteralmente uno scaffale di cinque piedi di documentazione -- se lo si cerca abbastanza, c'e'. E' questa la differenza -- la bellezza di UNIX e' che e' semplice; e la bellezza del VMS e' che c'e' tutto.

Ken Olsen 

Sondaggio:

Secondo voi i No Global...

non hanno niente da fare
si battono per i più deboli
creano solo problemi
dicono cose in parte vere e in parte no
hanno idee che condivido pienamente
andrebbero sbattuti in galera tutti
io sono un No Global!

visualizza risultati


 

Le eccezioni

 

Durante l'esecuzione di un applicativo possono verificarsi delle situazioni di errore non verificabili a compile-time, che in qualche modo vanno gestiti.
Le possibili tipologie di errori sono diverse ed in generale non tutte trattabili allo stesso modo. In particolare possiamo distinguere tra errori che non compromettono il funzionamento del programma ed errori che invece costituiscono una grave impedimento al normale svolgimento delle operazioni.
Tipico della prima categoria sono ad esempio gli errori dovuti a errato input dell'utente, facili da gestire senza grossi problemi. Meno facili da catturare e gestire e` invece la seconda categoria cui possiamo inserire ad esempio i fallimenti relativi all'acquisizione di risorse come la memoria dinamica; questo genere di errori viene solitamente indicato con il termine di eccezioni per sottolineare la loro caratteristica di essere eventi particolarmente rari e di comportare il fallimento di tutta una sequenza di operazioni.

La principale difficolta` connessa al trattamento delle eccezioni e` quella di riportare lo stato dell'applicazione ad un valore consistente. Il verificarsi di un tale vento comporta infatti (in linea di principio) l'interruzione di tutta una sequenza di operazioni rivolta ad assolvere ad una certa funzionalita`, allo svuotamento dello stack ed alla deallocazione di eventuali risorse allocate fino a quel punto relativamente alla richiesta in esecuzione. Le informazioni necessarie allo svolgimento di queste operazioni sono in generale dipendenti anche dal momento e dal punto in cui si verifica l'eccezione e non e` quindi immaginabile (o comunque facile) che la gestione dell'errore possa essere incapsulata in un unico blocco di codice richiamabile indipendentemente dal contesto in cui si verifica il problema.

In linguaggi che non offrono alcun supporto, catturare e gestire questi errori puo` essere particolarmente costoso e difficile, al punto che spesso si rinuncia lasciando sostanzialmente al caso le conseguenze. Il C++ comunque non rientra tra questi linguaggi e offre alcuni strumenti che saranno oggetto dei successivi paragrafi di questo capitolo.

 

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2009 Cataldo Sasso