Descoperirea cunoştinţelor
/ Knowledge Discovery >> Descoperirea cunoştinţelor >> tech >> calculator >> program de calculator >>

Care sunt cauzele lucruri cum ar fi erori de excepție fatale

re nu programator a scris codul să se ocupe de această excepție special), excepția face tot drumul la partea de sus a tuturor straturilor, și sistemul de operare recunoaște ca o " excepție netratată "., Sistemul de operare, apoi închide programul. Software bine-proiectat se ocupă de toate excepțiile
  • vina pagina invalid -. Un program foloseste memorie (RAM) pentru a stoca date. De exemplu, atunci când încărcați un document în Microsoft Word, o mare parte din fișierul pe care îl editați ocupă spațiu în memoria RAM. Ca programul are nevoie de memorie, se solicită blocuri de memorie de dimensiuni specifice din sistemul de operare. Programul își amintește localizarea fiecărui bloc se alocă folosind un ". Pointer " În cazul în care programul încearcă să scrie date într-o locație dincolo de sfârșitul unui bloc de memorie, sau în cazul în care programul devine confuz și încearcă să acceseze un bloc inexistentă de memorie cu ajutorul unui pointer invalid, sistemul de operare se poate vedea că se întâmplă și generează un " pagina vina " sau un " eroare de segmentare "., Sistemul de operare se inchide programul, deoarece programul în mod evident nu știe ce face
  • operațiune ilegală -. Un microprocesor are un număr finit de instrucțiuni înțelege, și fiecare instrucțiune este reprezentat de un număr de cunoscut ca un ". opcode " Opcode 43 ar putea însemna " adăugați, " Opcode 52 ar putea însemna " multiplica, " etc. Dacă microprocesorul executa un program și vine la un opcode că nu recunoaște sau că nu poate executa din cauza situației actuale, este în, atunci microprocesorul oprește să se plângă. Sistemul de operare se ocupă de această plângere prin închiderea programului ofensatoare. Opcodes ilegale sunt în mod normal de la software-ul saltul de la o locație în memorie care nu conține informații program valid. Site-ul

    Toate aceste probleme sunt cauzate de erori umane din partea unui programator. Programatorul nu este suficient de harnic pentru a prinde o excepție, sau permite programul pentru a accesa memoria invalid. Uneori, cauza principala este lipsa de experiență sau incompetență, dar în multe cazuri, este complexitatea programelor de astăzi. Există sute de excepții și adesea milioane de blocuri de memorie ca un program gestionează într-un mediu complex, stratificat. O mișcare falsă și accidente de aplicare - software-ul este foarte fragil. Testarea găsește mu

    Page [1] [2] [3]