php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.02.2012, 15:52  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard Exception ausgabe ohne handling

Hallo Zusammen

Ich versuche mich gerade in das Thema PHP Exceptions einzuarbeiten so weit so gut.
Wenn ich eine Exception im try/catch Block werfe kann ich diese normal ausgeben.

Ich habe jedoch irgendwo noch gelesen, dass wenn man einfach so eine Exception generiert (ohne try und catch) ein Fatal error ausgegeben. Wenn ich das versuche sehe ich leider nichts. Wo habe ich den Denkfehler?

PHP-Code:
<?php
echo "Beginn <br>";
    
$fehler = new FehlerTester();
    
$fehler->getNormalException();


class 
FehlerTester{

    public function 
getNormalException(){
        throw new 
Exception("Normale Exception");
    }
}

?>
Und als Ausgabe bekomme ich einfach nur:

PHP-Code:
Beginn 
Dadelu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.02.2012, 15:55  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi,

dann schau mal hier: http://php.net/manual/de/language.exceptions.php

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 08.02.2012, 15:55  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 606
Connar befindet sich auf einem aufstrebenden Ast
Standard

Auf was für einem Level steht denn dein error_reporting?


MFG Connar
Connar ist offline   Mit Zitat antworten
Alt 08.02.2012, 16:17  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

@Wolf
Ja aber da steht ja genau das Wenn sie nicht gefangen werden, wird ein Fatal Error erzeugt (falls sie nicht mittels set_exception_handler() abgefangen werden, was ich ja nicht mache)

@Connar
Ich habe es auf E_ALL gestellt, hatte auch die Vermutung dass das Problem daran lag, war leider nicht so.
Dadelu ist offline   Mit Zitat antworten
Alt 08.02.2012, 16:19  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Und dann gibt es noch display_errors. Zum Testen im Skript:
PHP-Code:
ini_set('display_errors''on'); 
Dass andere Fehler auch nicht ausgegeben werden, ist dir noch nicht aufgefallen?
fab ist gerade online   Mit Zitat antworten
Alt 08.02.2012, 16:24  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Und dann gibt es noch display_errors. Zum Testen im Skript:
PHP-Code:
ini_set('display_errors''on'); 
Dass andere Fehler auch nicht ausgegeben werden, ist dir noch nicht aufgefallen?
Das war die Lösung - Danke. Ist das eine Einstellung in der php.ini?

Zitat:
Dass andere Fehler auch nicht ausgegeben werden, ist dir noch nicht aufgefallen?
Nein nicht wirklich, da ich das System erst heute frisch aufgesetzt habe und das Exception handling eigentlich das erste ist was ich darauf entwickle.
Dadelu ist offline   Mit Zitat antworten
Alt 08.02.2012, 16:49  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Verstehe Ja, auf vielen Systemen ist display_errors=off in der php.ini voreingestellt, was für Live-Umgebungen ja auch sinnvoll ist.
fab ist gerade online   Mit Zitat antworten
Alt 08.02.2012, 16:53  
Benutzer
 
Registriert seit: 25.09.2010
Beiträge: 77
PHP-Kenntnisse:
Fortgeschritten
Raisch befindet sich auf einem aufstrebenden Ast
Standard

Hallo Dadelu,

wenn Du eine Exception wirfst, dann solltest Du diese auch auffangen.

Das kann man mit einem try/catch Block machen:
PHP-Code:
echo "Beginn <br>"
$fehler = new FehlerTester();
try
{
    
$fehler->getNormalException();
}
catch ( 
Exception $e )
{
    echo 
$e->getMessage();

Gruß
Raisch ist offline   Mit Zitat antworten
Alt 08.02.2012, 17:02  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Verstehe Ja, auf vielen Systemen ist display_errors=off in der php.ini voreingestellt, was für Live-Umgebungen ja auch sinnvoll ist.
Guter Input Sonst hätte ich mich ja noch dumm und dämlich gesucht!
Dadelu ist offline   Mit Zitat antworten
Alt 08.02.2012, 17:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Manchmal hilft auch einfach Aufmerksamkeit:
Zitat:
ini_set('display_errors', 'on');
ini_set
Zitat:
Not all the available options can be changed using ini_set(). There is a list of all available options in the appendix.
http://de.php.net/manual/de/ini.list.php

Manual lesen lernen!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Ausgabe von SimpleXmlElement in einer Linie skoddy PHP Einsteiger 11 13.09.2011 14:04
İnstallation von Propel unter Windows und Ohne PEAR sysr PHP Einsteiger 4 07.02.2011 10:56
[Erledigt] Ausgabe von SQL in Tabelle mit While oder Ohne? TaubSystem PHP Einsteiger 8 03.02.2011 17:15
Exception Handling wie macht ihr das? omex PHP Tipps 2010 3 29.06.2010 09:59
Ausgabe verschiebt sich - Warum? Rutor HTML, Usability und Barrierefreiheit 9 10.02.2010 21:51
Exception handling mysqli drsoong PHP Tipps 2009 11 17.03.2009 17:36
Problem mit Ausgabe von Datensetzten Dalari PHP Tipps 2009 1 02.03.2009 17:09
PHP 5 Exeption Handling Luka PHP Tipps 2008 11 12.12.2008 23:10
Exception Higidi PHP-Fortgeschrittene 14 10.09.2008 13:29
PHP: Exceptions - Teil 1 Zergling-new Tutorials 4 05.12.2007 23:31
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
[Erledigt] Geteilte Ausgabe an den Browser... PHP-Fortgeschrittene 4 01.07.2005 13:07
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
try catch ohne ausgabe

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum