1
if (programmierCODE == funktioniert .nicht ) { folge.dieser.anleitung; } HTML JAVASCRIPT PHP PROGRAMMIEREN CSS MYS QL 5 FEHLERARTEN #1 Ein lexikalischer Fehler liegt dann vor, wenn du bei der Eingabe von Java-Befehlen einen Recht- schreibfehler machst, z.B. wenn du statt "while" das Wort "whail" eingibst, weil du keine Ahnung von Englisch hast. Oder wenn du statt "vor()" den Befehl "Vor()" eingeben. Java unterscheidet ganz streng zwischen Klein- und Gross- schreibung. Lexalische Fehler #2 Ein syntaktischer Fehler ist so etwas wie ein Grammatikfehler. Alle Wörter sind zwar richtig ge- schrieben, dennoch der Satzbau ist nicht richtig. In vielen Fällen werden Syntax- fehler durch falsch gesetzte oder fehlende Zeichen wie Semikola, Kommata und Klammern oder bedeu- tungstragende Wörter. Syntaktische Fehler #3 Etwas komplizierter zu erklären: Wenn du in einer Programmierspra- che eine Variable verwendest und diese Variable vorher noch nicht deklariert hast, dann ist das ein semantischer Fehler. Lexikalisch und syntaktisch ist alles korrekt - aber die Variable existiert noch gar nicht. Denk einfach an den Satz «Die Maus wird von der Tischdecke gefressen». Lexika- lisch ist hier alles richtig, syntaktisch ebenfalls – aber Tischdecken können keine Mäuse fressen. Semantische Fehler #4 Ein Laufzeitfehler taucht erst während der Programmausführung auf und wird noch nicht während der Programmentwicklung erkannt. Typisches Beispiel für so einen Fehler sind die Division durch Null, der Aufruf ungültiger Funk- tionen oder die fehlerhafte Nut- zung des Inputs. Laufzeitfehler können zum Absturz des Programms führen. Laufzeitfehler #5 Laufzeitfehler führen zu Abstür- zen, Logische Fehler aber meistens nicht, sondern nur zu völlig fal- schen Ergebnissen. Ein Beispiel: Du willst einen Pro- grammteil schreiben, der die Zahlen 1 bis 10 addiert und tippst ein: summe = 0; for (int i=1; i<10; i++) summe = summe + i; Das Programm gibt aber nicht wie erwartet die Zahl 55 aus, sondern 46. Du hättest nämlich nicht i < 10 schreiben dürfen, sondern stattdessen i <= 10 , was ja nicht dasselbe ist. Logische Fehler Welchen Art von Fehler erhälst du? starte hier Erhälst du einen Fehler, wenn du den Code ausführst? Enthält der Code Schleifen oder andere Anweisungen? NEIN ZWEI NUMMERN WELCHE GLEICH SEIN SOLLTEN, SIND ES NICHT Du vergleichst eine Zahl mit einer Zahl von einer String-Zah- lenreihen. (Bsp.: if 5 ==“5“) Ausnahme: Javascript if 5 ==“5“ true jedoch 5===“5“ false EINE KOMPLEXE BEDIN- GUNG ERGIBT NICHT DAS ERWARTETE ERGEBNIS Die Reihenfolge der Wichtigkeit ist nicht eindeutig – füge einige Klammern ein. EINE LISTE, DIE FÜR JEDE WIEDERHOLUNG EINEN WERT HABEN SOLL, HAT NUR EINEN EINZELNEN WERT Du hast innerhalb einer Schlei- fe eine Liste definiert: bewege sie ausserhalb der Schleife. EINE SCHLEIFE, DIE DIE BEREICHSFUNKTION BRAUCHT, VERPASST DEN LETZTEN WERT Die Bereichsfunktion ist an ihr Ende angelangt: erhöhe um eins. DU VERSUCHST EINE SCHLEIFE ÜBER EINE AUFLISTUNG VON ZEI- CHENFOLGEN ZU MACHEN, DOCH ERHÄLST INDIVI- DUELLE CHARAKTERE Du hast einen Wiederholungsfeh- ler in einer Schleife. DU VERSUCHST MEHRFA- CHE LINIEN IN EINER DATEI ZU SCHREIBEN, ABER BEKOMMST NUR EINE HIN. Du hast die Datei innerhalb der Schleife geöffnet: bewege sie nach draussen. JA IF LOOPS ATTRIBUTE FEHLER Der Aufruf des Attributs passt nicht zum Objekt. SYNTAX ERROR Du hast die Ausrufezeichen beim String vergessen. Du hast die Doppelpunkte am Ende einer Linie verges- sen. Du hast eine verschiedene Anzahl von of- fenen und ge- schlossenen Klammern in einer Aussage. TYPE ERROR Du hast eine falsche Anwei- sung (=,+,-,...) an die falsche Art von Objek- ten benutzt. Ein Objekt, bei dem du denkst, es hätte einen Wert hat ei- gentlich keinen. Du hast in einem Listenab- schnitt keine ganze Zahlen benutzt. Du hast eine Methode / Funk- tion mit der falschen Anzahl oder Arten von Argumenten auf- gerufen EINZUG ERROR Du hast eine Mischung von Tabs und Leer- zeichen be- nutzt. Du hast nicht alle Zeilen richtig einge- rückt. IOError Du versuchst ein Dokument zu öffnen, welches nicht exis- tiert. KEYERROR Du hast einen Schlüsselnamen benutzt, der nicht exis- tiert. NAME FEHLER Du hast eine Variable,Funk- tion oder Me- thode falsch geschrieben. Du hast verges- sen die Variab- le zu definie- ren. Dein Code be- nutzt eine Va- riable ausser- halb des Anwe- dungsbereiches. Dein Code ruft eine Funktion auf, bevor sie definiert wurde. Du hast die An- führungszeichen vergessen.

if (programmierCODE == CSS ) { MYS QL ... · PDF fileCSS MYS QL 5 FEHLERARTEN #1 Ein lexikalischer Fehler liegt dann vor, wenn du bei der Eingabe ... von Englisch hast. Oder wenn du

Embed Size (px)

Citation preview

Page 1: if (programmierCODE == CSS ) { MYS QL ... · PDF fileCSS MYS QL 5 FEHLERARTEN #1 Ein lexikalischer Fehler liegt dann vor, wenn du bei der Eingabe ... von Englisch hast. Oder wenn du

if (programmierCODE ==funktioniert.nicht) {folge.dieser.anleitung;}

HTML

JAVASCRIPTPHP PROGRAMMIEREN

CSSMYS QL

5 FEHLERARTEN#1Ein lexikalischer Fehler liegt dann vor, wenn du bei der Eingabe von Java-Befehlen einen Recht-schreibfehler machst, z.B. wenn du statt "while" das Wort "whail" eingibst, weil du keine Ahnung von Englisch hast. Oder wenn du statt "vor()" den Befehl "Vor()" eingeben. Java unterscheidet ganz streng zwischen Klein- und Gross-schreibung.

Lexalische Fehler #2Ein syntaktischer Fehler ist so etwas wie ein Grammatikfehler. Alle Wörter sind zwar richtig ge-schrieben, dennoch der Satzbau ist nicht richtig.

In vielen Fällen werden Syntax-fehler durch falsch gesetzte oder fehlende Zeichen wie Semikola, Kommata und Klammern oder bedeu-tungstragende Wörter.

Syntaktische Fehler #3Etwas komplizierter zu erklären: Wenn du in einer Programmierspra-che eine Variable verwendest und diese Variable vorher noch nicht deklariert hast, dann ist das ein semantischer Fehler. Lexikalisch und syntaktisch ist alles korrekt - aber die Variable existiert noch gar nicht. Denk einfach an den Satz «Die Maus wird von der Tischdecke gefressen». Lexika-lisch ist hier alles richtig, syntaktisch ebenfalls – aber Tischdecken können keine Mäuse fressen.

Semantische Fehler #4Ein Laufzeitfehler taucht erst während der Programmausführung auf und wird noch nicht während der Programmentwicklung erkannt.Typisches Beispiel für so einen Fehler sind die Division durch Null, der Aufruf ungültiger Funk-tionen oder die fehlerhafte Nut-zung des Inputs.Laufzeitfehler können zum Absturz des Programms führen.

Laufzeitfehler

#5Laufzeitfehler führen zu Abstür-zen, Logische Fehler aber meistens nicht, sondern nur zu völlig fal-schen Ergebnissen. Ein Beispiel: Du willst einen Pro-grammteil schreiben, der die Zahlen 1 bis 10 addiert und tippst ein:

summe = 0;for (int i=1; i<10; i++) summe = summe + i;

Das Programm gibt aber nicht wie erwartet die Zahl 55 aus, sondern 46. Du hättest nämlich nicht i < 10 schreiben dürfen, sondern stattdessen i <= 10, was ja nicht dasselbe ist.

Logische Fehler

Welchen Art von Fehler erhälst du?

starte hier

Erhälst du einen

Fehler, wenn du den Code

ausführst?Enthält der

Code Schleifen oder andere Anweisungen?

NEIN

ZWEI NUMMERN WELCHE GLEICH SEIN SOLLTEN,

SIND ES NICHT

Du vergleichst eine Zahl mit einer Zahl von einer String-Zah-

lenreihen. (Bsp.: if 5 ==“5“)

Ausnahme: Javascript

if 5 ==“5“ truejedoch 5===“5“ false

EINE KOMPLEXE BEDIN-GUNG ERGIBT NICHT DAS ERWARTETE ERGEBNIS

Die Reihenfolge der Wichtigkeit ist nicht eindeutig – füge

einige Klammern ein.

EINE LISTE, DIE FÜR JEDE WIEDERHOLUNG EINEN WERT HABEN

SOLL, HAT NUR EINEN EINZELNEN WERT

Du hast innerhalb einer Schlei-fe eine Liste definiert: bewege sie ausserhalb der Schleife.

EINE SCHLEIFE, DIE DIE BEREICHSFUNKTION BRAUCHT, VERPASST DEN

LETZTEN WERT

Die Bereichsfunktion ist an ihr Ende angelangt: erhöhe um

eins.

DU VERSUCHST EINE SCHLEIFE ÜBER EINE AUFLISTUNG VON ZEI-

CHENFOLGEN ZU MACHEN, DOCH ERHÄLST INDIVI-DUELLE CHARAKTERE

Du hast einen Wiederholungsfeh-ler in einer Schleife.

DU VERSUCHST MEHRFA-CHE LINIEN IN EINER DATEI ZU SCHREIBEN, ABER BEKOMMST NUR

EINE HIN.

Du hast die Datei innerhalb der Schleife geöffnet: bewege sie

nach draussen.

JA

IFLOOPS

ATTRIBUTE FEHLER

Der Aufruf des Attributs passt

nicht zum Objekt.

SYNTAXERROR

Du hast die Ausrufezeichen beim String vergessen.

Du hast die Doppelpunkte am

Ende einer Linie verges-

sen.

Du hast eine verschiedene

Anzahl von of-fenen und ge-schlossenen Klammern in

einer Aussage.

TYPE ERROR

Du hast eine falsche Anwei-

sung (=,+,-,...)

an die falsche Art von Objek-ten benutzt.

Ein Objekt, bei dem du denkst, es hätte einen Wert hat ei-

gentlich keinen.

Du hast in einem Listenab-schnitt keine ganze Zahlen

benutzt.

Du hast eine Methode / Funk-tion mit der

falschen Anzahl oder Arten von Argumenten auf-

gerufen

EINZUGERROR

Du hast eine Mischung von

Tabs und Leer-zeichen be-

nutzt.

Du hast nicht alle Zeilen

richtig einge-rückt.

IOError

Du versuchst ein Dokument zu öffnen, welches

nicht exis-tiert.

KEYERROR

Du hast einen Schlüsselnamen benutzt, der nicht exis-

tiert.

NAMEFEHLER

Du hast eine Variable,Funk-tion oder Me-thode falsch geschrieben.

Du hast verges-sen die Variab-le zu definie-

ren.

Dein Code be-nutzt eine Va-riable ausser-halb des Anwe-dungsbereiches.

Dein Code ruft eine Funktion auf, bevor sie

definiert wurde.

Du hast die An-führungszeichen

vergessen.