Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Neuerungen in PHP 5  Teil von  OOP und PHP 5
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Ausnahmebehandlung: Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Wenn man sich in der Programmierung mit der Fehlerbehandlung befassen möchte, muss man sich von Anfang an darüber im Klaren sein, dass es dabei nicht um syntaktische Fehler geht. Diese werden bereits vom PHP-Interpreter frühzeitig abgefangen und gemeldet.

Beispiel – fehlerhafter Aufruf von printf()

<?php

printf("Hallo %s" "Matze");

?>

Ausgabe – Syntaxfehlermeldung (parse error)

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in...

Bei der Fehlerbehandlung dreht sich alles um die Verarbeitung von Ausnahmen (engl. exceptions). Eine Ausnahme stellt ein Ereignis dar, welches zur Laufzeit eines Programms eintritt und den normalen Kontrollfluss unterbricht. Man kann sagen, Ausnahmen treten immer dann auf, wenn ein Skript vorzeitig aufgrund unerwarteter Umstände abgebrochen wird oder fehlerhafte Ergebnisse liefert.

Hinweis: Solche Ausnahmen werden in der Programmierung auch als Laufzeitfehler oder Ausnahmefehler bezeichnet.

Typische Umstände für eine Ausnahme sind:
  • Es tritt ein Problem auf.
  • Es kann nicht normal fortgefahren werden.
  • Das Problem kann nicht an Ort und Stelle behoben werden.
  • Jemand anders muss sich um das Problem kümmern.

Das Ziel bei der Verarbeitung solcher Ausnahmen ist es, möglichst sämtliche Fehler abzufangen und darauf angemessen zu reagieren, und sei es auch nur in Form einer benutzerfreundlichen Fehlermeldung.

In puncto Fehlerbehandlung bot PHP bisher keine vordefinierten Möglichkeiten, um auf Ausnahmen zu reagieren. Als Entwickler war man auf eigene Lösungen angewiesen, beispielsweise durch das Abfangen von Rückgabewerten bei Funktionen. Bei jeder Funktion, egal ob es sich um eine benutzerdefinierte oder vordefinierte Funktion handelte, die einen Fehler verursachen konnte, musste deren Rückgabewert überprüft und an Ort und Stelle entsprechend reagiert werden.

Beispiel – Funktion division()

<?php

function division($a,$b)
{
  return($a/$b);
}


echo division (10,5); // 2
echo division (10,0); // Division by zero

?>

Die erste Wertübergabe führt zu einem sinnvollen Ergebnis, bei der zweiten handelt es sich um die Division durch 0, und solch eine Ausnahme musste in Form einer benutzerdefinierten Lösung abgefangen werden.

Beispiel – Funktion division() mit benutzerdefinierter Ausnahmebehandlung

<?php

function division($a,$b)
{
  // Überprüfung, ob durch Null dividiert werden soll
  if ($b == 0)
  {
    // Gibt benutzerdefinierte Fehlermeldung zurück
    return "Division durch null nicht durchführbar!";
  }
  return($a/$b);
}


echo division (10,5); // 2
echo division (10,0); // Division durch null nicht durchführbar!

?>

Hinweis: Diese Form einer Fehlerbehandlung werden Sie auch zukünftig einsetzen können.




Typen-Hinweise (class type hints)
 




:: Premium-Partner ::

Webhosting/Serverlösungen

PSW GROUP GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Sedo GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Verzeichnis rekursiv löschen

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Menge der Abfragen an den MySQL-Server seit dessen Start ermitteln

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2024 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2024 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de