Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odpowiednik TRY / EXCEPT w PHP.
Forum PHP.pl > Forum > PHP
seba22
Nie wiem czy jest tu ktoś kto programował w php, ale poszukuję odpowidnika funkcji try i except.

  1. <?php
  2. Warningmkdir() [function.mkdir: File exists in /var/www/vixx.php on line 188
  3. ?>


Chce się pozbyć takich durnych błędów...


Próbowałem zrobić tak:


  1. <?php
  2. if(!mkdir("./xxx", 0777))
  3. {
  4.   // echo ("Couldn't create directory");
  5. }
  6. ?>

Ale ni bubu, wywala mi ten głupi błąd jak powyżej.

Chciał bym zawrzeć to jakoś w stylu
  1. <?php
  2. try
  3. except
  4. {
  5. }
  6. ?>

Chodzi o to żeby nie pokazywało w ogóle tego błędu użytkownikowi, nie ma najmniejszej potrzeby...
Więc chiał bym zrobić pustą funkcje try {}
żeby efekt był null, nic, tak jak by się wykonała poprawnie.
Na podstawie tej mkdir to tylko przykład, mam inne bardziej skompilowane kwestie i też chce zamaskować błędy jakie tam wyskakują...


Najprościej mówiąc, zamiast błędu php, wyświetliło mój komunikat - który będzie albo pusty, albo będzie zawierał dla użytkownika informacje co jest nie tak, albo doda mi powiedzmy jakieś logi do bazy danych...
nospor
Cytat
Nie wiem czy jest tu ktoś kto programował w php
blinksmiley.gif
Hmmm, a na jakim forum to piszesz? winksmiley.jpg

Cytat
Warningmkdir() [function.mkdir: File exists in /var/www/vixx.php on line 188

Mowi ci, ze plik/katalog juz istnieje. Zanim go wiec bedziesz probowal utworzyc, sprawdź najpierw czy istnieje czy nie
http://pl2.php.net/manual/pl/function.file-exists.php
I nie bedziesz mial bledu
seba22
Człowieku, miałem na myśli Delphi winksmiley.jpg
Paskal obiektowy, tam jest składnia:
  1. <?php
  2. try ( spróbuj)
  3. skopiowac cos ( wlasciwa procedura )
  4. except - w razie błedu
  5. showmessage('Blad');  - wyswietl komunikat
  6. ?>



Masz dobry pomysł, czyli po prostu sprawdzić czy np jakiś rekord jest pusty.
  1. <?php
  2. if ($[row'dane']=='')
  3. {
  4. $stop='stop';
  5. }
  6. ?>


A wlasciwa procedura

  1. <?php
  2. if ($stop=='stop')
  3. {
  4. exit();
  5. }
  6. else
  7. {
  8. procedura ktora moze wygenerowac bledy, jezeli poprzednie warunki nie zostana spelnione
  9. }
  10. ?>


?

File exist, jakoś odnosi się do pliku, a mi by się przydało coś do folderu ?
To co , mam spróbować coś zapisać w folderze, jak nie zapisze to znaczy ze folderu nie ma ?
Bo dam nie rozumiem już ?
Cienki1980
Wystarczy zajrzeć do linku który podał nospor i czytamy :
Cytat
file_exists — Sprawdza czy plik lub katalog istnieje
dr_bonzo
1. php wpiuje bledy - FUUUUJ, ale tak jest
2. ale masz http://pl2.php.net/set_error_handler
3. masz tez system wyjatkow (uzywane sporadycznie, tylko w nowszych, obiektowych bibliotekach - http://pl2.php.net/manual/en/language.exceptions.php )
4.
Cytat
File exist, jakoś odnosi się do pliku, a mi by się przydało coś do folderu ?

Dzizez, manual jest:
Cytat
Sprawdza czy plik lub katalog istnieje.
nospor
Cytat
Człowieku, miałem na myśli Delphi
A niby skad mialem wiedziec co miales na mysli? Wyraźnie napisales ze php wiec sie nie czlowiekuj winksmiley.jpg

ps: dostales linka do manuala i jeszcze takie pytania walisz.... to grozi ostrzezeniem
wrzasq
na ten konkretny przyklad juz ci wszyscy odpowiedzieli. natomiast ogolnie co do twojego pytania, to w PHP bledy nie sa niestety wyjatkami. struktury try { ... } catch( ... ) { ... } nie zastosujesz do takich bledow. musisz sie stosowac do tego co mowia poprzednicy.

ale nawet w delphi nie robilbym tego w taki sposob jak ty probujesz - nie wazne, ze ma sie wyjatki do dyspozycji. wyjatki to wyjatki - cos nieprzewidywalnego. ty masz pelna swobode sprawdzic, czy katalog istnieje i podjac taka akcje jaka chcesz. wyjatki maja ratowac program przed nieoczekiwanym obrotem spraw, umozliwic obsluge krytycznych momentow. "juz istniejacy katalog" nie jest niczym nadzwyczaj nieoczekiwanym.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.