Kjøretidsfeil:
- En kjøretidsfeil i et program er en feil som oppstår mens programmet kjører etter vellykket kompilering.
- Kjøretidsfeil kalles ofte referert til som feil og blir ofte funnet under feilsøkingsprosessen før programvaren utgis.
- Når kjøretidsfeil oppstår etter at et program har blitt distribuert til offentligheten, gir utviklere ofte ut patcher, eller små oppdateringer designet for å fikse feilene.
- Alle kan finne listen over problemer de kan møte hvis de er nybegynnere denne artikkelen .
- Mens du løser problemer på nettplattformer, kan mange kjøretidsfeil oppstå, som ikke er tydelig spesifisert i meldingen som følger med dem. Det er en rekke kjøretidsfeil som oppstår som f.eks logiske feil , Inn-/utdatafeil , udefinerte objektfeil , divisjon med null feil , og mange flere.
Typer kjøretidsfeil:
- SIGFPE: SIGFPE er en flytende punkt feil. Det er nesten alltid forårsaket av en divisjon med 0 . Det kan hovedsakelig være tre hovedårsaker til SIGFPE-feil beskrevet som følger:
- Divisjon med null.
- Modulo Operation by Zero.
- Heltallsoverløp.
Java// C++ program to illustrate // the SIGFPE error #include using namespace std; // Driver Code int main() { int a = 5; // Division by Zero cout << a / 0; return 0; }>Python3public class Main { public static void main(String[] args) { int a = 5; try { // Division by Zero System.out.println(a / 0); } catch (ArithmeticException e) { // Handle the ArithmeticException System.out.println('Error: Division by zero is not allowed.'); } } }>C## Python program to illustrate # the ZeroDivisionError # Driver Code def main(): a = 5 try: # Division by Zero print(a / 0) except ZeroDivisionError as e: print(f'Error: {e}') if __name__ == '__main__': main()>Javascriptusing System; class Program { static void Main() { int a = 5; try { // Division by Zero Console.WriteLine(a / 0); } catch (DivideByZeroException ex) { // Handling DivideByZeroException Console.WriteLine('Error: ' + ex.Message); } Console.ReadLine(); } }>Produksjon:// JavaScript program to demonstrate division by zero behavior // Perform division by zero let result = 5 / 0; // Print the result console.log(result);>

- SIGABRT: Det er en feil i seg selv som oppdages av programmet, så genereres dette signalet ved å ringe til avbryte() funksjon. Dette signalet brukes også av standard bibliotek for å rapportere en intern feil. hevde() fungere i C++ bruker også abort() for å generere dette signalet. Nedenfor er programmet for å illustrere SIGBRT-feilen:C++
Java// C++ program to illustrate // the SIGBRT error #include using namespace std; // Driver Code int main() { // Assigning excessive memory int a = 100000000000; int* arr = new int[a]; return 0; }>Python3public class Main { public static void main(String[] args) { try { // Assigning excessive memory int a = 1000000000; int[] arr = new int[a]; } catch (OutOfMemoryError e) { // Catch the OutOfMemoryError System.err.println('Caught OutOfMemoryError: ' + e.getMessage()); } } } //This code is contributed by Adarsh>JavaScript# Python program to illustrate # the MemoryError # Driver Code def main(): try: # Attempting to allocate excessive memory a = 100000000000 arr = [0] * a except MemoryError as e: print(f'Error: {e}') if __name__ == '__main__': main()>Produksjon:// JavaScript program to illustrate the MemoryError // Driver Code function main() { try { // Attempting to allocate excessive memory const a = 100000000000; const arr = new Array(a).fill(0); } catch (e) { console.log('Error: ' + e.message); } } main();>
- NZEC: Denne feilen angir Ikke-null utgangskode . Til C brukere, vil denne feilen bli generert hvis main()-metoden har ikke avkastning 0 uttalelse. Java /C++-brukere kan generere denne feilen hvis de gir et unntak. Nedenfor er de mulige årsakene til å få NZEC-feil:
- Uendelig rekursjon eller hvis du går tom for stabelminne.
- Negativ matriseindeks er tilgjengelig.
- ArrayIndexOutOfBounds Unntak.
- StringIndexOutOfBounds Unntak.
Java#include #include using namespace std; int main() { vectorarr = {1, 2}; prøv { // Tilsiktet feil: Tilgang til et element utenfor grensen cout<< arr.at(2) << endl; // Accessing index 2 which is out of bounds } catch (const out_of_range& e) { cout << 'Error the index is out of bound'<< endl; // Handle the out_of_range exception } return 0; } //This code is contrbiuted by Adarsh> Pythonpublic class Main { public static void main(String[] args) { int[] arr = {1, 2}; // Intentional Error: Accessing an element out of bounds System.out.println(arr[2]); // Error: Accessing index 2 which is out of bounds } } //this code is contributed by Utkarsh.>JavaScript# Python program to illustrate # the NZEC Error # Driver Code if __name__ == '__main__': arr = [1, 2] # Runtime Error # Array Index out of Bounds print(arr[2])>
Produksjon:// JavaScript program to illustrate // the error similar to NZEC Error // Driver Code let arr = [1, 2]; // Runtime Error // Array Index out of Bounds console.log(arr[2]);>

- SIGSEGV: Denne feilen er den vanligste feilen og er kjent som Segmenteringsfeil . Den genereres når programmet prøver å få tilgang til et minne som ikke har tilgang til eller prøver å få tilgang til en minneplassering på en måte som ikke er tillatt. Liste over noen av de vanlige årsakene til segmenteringsfeil er:
- Tilgang til en matrise utenfor grensene.
- Fjerner fra NULL-pekere.
- Frareferanse til frigjort minne.
- Fjernerererer ikke initialiserte pekere.
- Feil bruk av & (adresse til) og * (derefererende) operatører.
- Feil formateringsspesifikasjoner i printf- og scanf-setninger.
- Stabeloverløp.
- Skriver til skrivebeskyttet minne.
Java// C++ program to illustrate // the SIGSEGV error #include using namespace std; // Function with infinite // Recursion void infiniteRecur(int a) { return infiniteRecur(a); } // Driver Code int main() { // Infinite Recursion infiniteRecur(5); }>Pythonimport java.util.*; public class Main { // Function with infinite Recursion static void infiniteRecur(int a) { // Recursively call the function without a base case infiniteRecur(a); } // Driver Code public static void main(String[] args) { // Infinite Recursion infiniteRecur(5); } } //This code is contributed by Monu.>C## Python program to illustrate # the SIGSEGV error # Function with infinite # Recursion def infiniteRecur(a): return infiniteRecur(a) # Driver Code if __name__ == '__main__': # Infinite Recursion infiniteRecur(5) #This code is contributed by Utkarsh.>
JavaScriptusing System; class Program { // Function with infinite Recursion static void InfiniteRecur(int a) { // Recursively calling the function InfiniteRecur(a); } // Driver Code static void Main() { // Infinite Recursion InfiniteRecur(5); } }>Produksjon:// Function with infinite Recursion function infiniteRecur(a) { // Recursively call the function without a base case infiniteRecur(a); } // Infinite Recursion infiniteRecur(5); // Note: JavaScript does not have tail-call optimization, // so running this code will eventually lead to a maximum call stack size exceeded error.>
Måter å unngå kjøretidsfeil:
- Unngå å bruke variabler som ikke er initialisert. Disse kan settes til 0 på systemet ditt, men ikke på kodeplattformen.
- Sjekk hver eneste forekomst av et matriseelement og sørg for at det ikke er utenfor grensene.
- Unngå å erklære for mye minne. Se etter minnegrensen som er spesifisert i spørsmålet.
- Unngå å deklarere for mye Stable minne . Store arrayer bør deklareres globalt utenfor funksjonen.
- Bruk retur som sluttsetning.
- Unngå å referere ledig minne eller null-pekere .



