Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Program de detectat erori  (Citit de 1263 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
MihailP
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« : Februarie 04, 2015, 09:13:53 »

Salutare!
Daca am un program care imi cere sa calculez suma a doua numere de tip int iar rezultatul depaseste tipul int imi da o eroare (presupun ca si suma este declarata tot ca int) sau daca trebuie sa citesc de la tastatura dimensiunile unei matrici iar mai apoi programul sa construiasca o anume matrice si eu introduc doua dimensiuni negative imi da o eroare. Intrebarea mea este daca pot face un program in C care sa imi detecteze acest tip erori si sa afiseze pe ecran pur si simplu "Eroare"?
Multumesc Smile
Memorat
Vman
Echipa infoarena
Vorbaret
*****

Karma: 45
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #1 : Februarie 04, 2015, 09:51:05 »

Pe scurt: nu.

Pentru prima intrebare: overflow-ul nu este perceput ca o eroare, procesorul aduna bit cu bit pana cand se termina toti bitii fara sa aiba vreo informatie despre tipul de date. Dar este foarte usor sa tratezi astfel de cazuri.

Pentru a 2-a intrebare: in cazul unei situatii de tipul array[-1] ("array out of bounds") C-ul are un comportament nedefinit (pur si simplu se acceseaza o zona de memorie aiurea dupa care se poate intampla orice). C++ iti ofera posibilitatea de a trata exceptiile intr-un mod mai organizat (try...catch), dar este tot datoria ta sa le detectezi/anticipezi.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines