Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z wyjątkami
Capellini
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 16.10.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function wikipedia($sl)
  3.  {
  4.    try
  5.    {
  6.      file_get_contents("http://www.pl.wikipedia.org/wiki/". $sl);
  7.      return true;
  8.    }
  9.  
  10.    return false;
  11.  }
  12. ?>


Funkcja ma zwrócić wartość true, jeżeli z funkcją file_get_contents nie ma żadnych kłopotów i wartość false, jeżeli jest jakiś błąd.

Nie jestem jeszcze zbyt obeznany w wyjątkach w PHP więc pomóżcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Wyjątki nie zwracają wartości.
Jeśli wystąpi wyjątek, to w bloku catch() {} łapiesz wyjątek wyrzucony metodą throw() z bloku try {}.

Czyli Twój kod powinien wyglądać tak:
  1. <?php
  2. function wikipedia($sl)
  3. {
  4.   try
  5.   {
  6.     if (! ($pobrane =file_get_contents("http://www.pl.wikipedia.org/wiki/". $sl)) {
  7.          throw new Exception("Błąd. Nie udało sie pobrac czegos tam");
  8.    
  9.   }
  10.    
  11.   return $pobrane;
  12. } catch (Exception $e) {
  13.     echo $e->getMessage();    <- wyswietli komunikat bledu z wyrzuconego wyjatku, czyli to, co dales w wywolaniu throw()
  14. }
  15. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:41