Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tratarea erorilor -stderr si exit

c



+ Font mai mare | - Font mai mic



Tratarea erorilor -stderr si exit

Tratamentul erorilor in cat nu este ideal. Problema este ca



daca unul d din fisiere nu poate fi accesat din vreun motiv

oarecare, diagnosticul erorii este tiparit numai la sfirsitul

iesirii concatenate. Aceasta este aceptabil dacaiesirea se

face pe un terminal, dar este rau daca iesirea este un fisier sau

un alt program via o pipeline.

Pentru a trata aceasta situatie maibine, un al doilea fisier de

iesire numit stderr este asignat programului, la fel castdin si

stdout. Daca e este posibil, stderr apare pe terminalul

utilizatorului chiar daca iesirea standard este redirectata.

Sa revizuim programl cat in asa fel ca mesajele de eroare sa

apara in fisierul standard de erori

#include <stdio.h>

main(argc, argv) /* cat: concatenate files *?

int argc:

char *argv[];

else

exit(0);

}

Programul semnaleaza erorile in doua feluri. Diagnosticul de

iesire produs de catre fprintf merge in stderr, astfel el

gaseste drumul catre terminalul utilizatorului in loc sa dispara

printr-un pipeline sau fisier de iesire.

Programul de asemenea utilizeaza si functia exit din biblioteca

standard care termina executia programului cind este apelata.

Argumentul lui exit este utilizabil de catre orice proces care

il apeleaza, astfel succesul sau esecul programului poate fi

testat de un alt program pentru care cel dinainte este un

subprogram. Prin conventie returnarea valorii 0 semnaleaza ca

totul ste OK, iar diferite valori nonzero semnifica situatii

anormale

exit apeleaza fclose pentru fiecare fisier deschis in iesire

pentru a curata bufferul, apoi cheama rutina numita -exit.

Functia exit determina terminarea imediata fara curatarea

bufferului desigur exit poate fi apelata si direct.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 855
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved