Mis on väljumise olek?

Programmi väljumise olek, mida nimetatakse ka tagastuskoodiks, on number, mille programm edastab operatsioonisüsteemile, skriptile või muule protsessile, mis selle algselt käivitas, kui programm on töö lõpetanud. Puuduvad tegelikud reeglid selle kohta, mida väljumisolekuna kasutatavad numbrid tähendavad, kuigi väärtus null tähendab tavapäraselt, et programm väljus normaalselt, ja mis tahes nullist erinev väärtus tähendab, et programm katkes ootamatult. Määrates väljumisolekule numbri, saab koodi kutsunud algne programm või protsess öelda, kas programm täitis edukalt vajalikud toimingud või tuleb teha muid toiminguid.

Peaaegu kõikidel arvutikeeltel ja paljudel skriptikeeltel on mingi mehhanism või funktsioon, mis võib tagastada väljumisoleku. On olukordi, kus programm võib keset töötamist tahtlikult lõpetada, kasutades konkreetset veakoodi, mis näitab, et midagi on valesti, näiteks puudub andmefail või arvutimälu. Programmid, mis ei määratle selgelt väljumisolekukoodi, tagastavad kutsuvale programmile nulli, välja arvatud juhul, kui operatsioonisüsteem või keeletõlk programmi vigade tõttu lõpetab.

Väljumise olekut saab kasutada ka skripti või muu protsessiga suhtlemiseks, edastades tagasi konkreetsed väärtused, mis näitavad, milliseid toiminguid tuleks järgmisena ette võtta. Üks näide on skript, mis on loodud programmi töös hoidmiseks hoolimata võimalikest aegadest, mil programm võib hoolduseks väljuda. See skeem töötaks nii, et skript käivitab programmi ja ootab seejärel selle väljumist. Programmeerijad võivad selle korraldada nii, et programm tagastab ühe numbri, mis tähendab, et see väljub jäädavalt ja seda ei tohiks taaskäivitada, ning teine ​​​​number võib juhendada skripti teatud aja ootama ja seejärel programmi taaskäivitama; siiski võib kolmas väärtus näidata, et programmis ilmnes viga ja see vajab programmeerija tähelepanu.

Väljumise olekukoodi kasutamine side jaoks on teatud olukordades mugav turvalisuse ja muude piirangute tõttu, mis mõnel programmil on erinevates operatsioonisüsteemides. On palju juhtumeid, kus programmil on võimatu suhelda oma kutsumisprotsessiga või mõne muu programmiga, mis töötab samas süsteemis paralleelselt. Sellistes olukordades on programmidevahelise suhtluse võimalused piiratud keeruliste skeemidega, mis hõlmavad ühismälu, võrgupistikuühendusi või failide kirjutamist. Väljumisolekut kasutades saab lihtsat teavet edastada väga lihtsal viisil, mis ei nõua kohandatud raamistiku väljatöötamist.