[ Zamknij ] [ pdf ] [ xlsx ]
Nazwa szkoleniaTermin odTermin doMiejscowośćFirma / ZleceniodawcaGodzin
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język PHP 2018-03-032018-03-23Krakówteb.pl40
Wykładowca w Szkole programowania codeskills.pl (sem. II, zakres Back-End Developer)2018-02-242018-06-24Warszawacodeskills.pl120
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język HTML5 oraz CSS3.2017-10-142017-12-10Krakówteb.pl40
Kurs Front End Developer, moduł JavaScript (podstawy JS, model DOM, jQuery, AJAX).2017-07-132017-07-18KrakówAkademia108.pl32
MS Excel - obsługa programu od podstaw.2017-06-052017-06-06KrakówEduKey Łódź.12
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (HTML5, CSS3, JavaScript, jQuery, AJAX, JSON), moduł: specjalizacja back-end (PHP, SQL, MySQL).
[ szczegóły ]
2017-03-062017-04-07Warszawacodeskills.pl184
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (html5, CSS3, JavaScript, jQuery, AJAX, PHP, JSON, SQL, MySQL).
[ szczegóły ]
2016-11-072016-11-28Warszawacodeskills.pl104
Przygotowanie materiałów oraz przeprowadzenie szkolenia: System Linux - podstawowa administracja LX-02.
[ szczegóły ]
2016-10-122016-10-14WarszawaAction Centrum Edukacyjne Warszawa.24
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Praktyczny kurs programowania” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: PHP, JAVA, bazy MySQL. Szkolenie w standardzie ECCC.2016-08-232016-09-02Wrocław.HUMANEO, Nowy Sącz.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Pracownik IT” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: HTML5, CSS3, JavaScript, PHP, MySQL. Szkolenie w standardzie ECCC. 2016-05-242016-06-09Wrocław.SENSE consulting sp. z o.o. - Poznań.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia Excel moduł podstawowy (9 grup x 8h zegarowych = 72h), moduł średniozaawansowany (11 grup x 8h zegarowych = 88h), moduł zaawansowany (3 grupy x 8h = 24h).2016-05-232016-11-14Kraków.Aterima Kraków (szkolenie wewnętrzne pracowników).184
Kurs programowania stron internetowych.2016-02-242016-03-24KrakówGoWork.pl120
Excel zaawansowany (szkolenie autorskie).2015-12-152015-12-16Nowy SączCSD "KREATOR" (szkolenie wewnętrzne).16
Administracja i obsługa baz danych MySQL oraz PostgreSQL (szkolenie autorskie).2013-09-272013-10-17BrzeskoCentrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała50
Kurs programowania stron internetowych.2013-08-032013-09-22Kraków.GoWork.pl120
Kurs programowania stron internetowych.2013-06-222013-08-18KrakówGoWork.pl120
Kurs programowania stron internetowych.2013-05-112013-06-23Kraków.GoWork.pl120
Kurs programowania stron internetowych.2012-12-152013-02-03Kraków.GoWork.pl120
Obsługa programu Excel - poziom podstawowy2012-12-012012-12-02Kraków.GoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-10-222012-10-25Kraków.GoWork.pl26
Administracja serwerem INTERNETOWYM i INTRANETOWYM z systemem Linux.2012-09-012012-11-30Brzesko.Centrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała (szkolenie autorskie).90
MS Word - poziom podstawowy.2012-09-012012-09-01Kraków.GoWork.pl6
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-192012-07-20KrakówGoWork.pl16
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-112012-07-12KrakówGoWork.pl16
Obsługa programu Excel - poziom zaawansowany2012-05-192012-05-20KrakówGoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-05-122012-05-13Kraków.GoWork.pl16
Kurs komputerowy podstawowy (obsługa systemów operacyjnych, Internet, Word, Excel). 2011-07-022011-08-04Miechów.GOPS Miechów.120
Serwerowe systemy operacyjne - Linux, Windows, Novell NetWare.2010-10-202010-11-26Miechów.AdlerComputers.90
Pracownik administracyjno - biurowy. Moduł "Obsługa komputera".2010-05-052010-05-24Gdów.Stowarzyszenie Inspiracje - Mielec.46
Pracownik biurowy - sekretarka, moduł "Obsługa komputera w sekretariacie, obsługa urządzeń biurowych".2009-10-152009-10-30Miechów.Grupa Doradcza Projekt - Kraków.84
Sprzedawca - moduł "Obsługa komputera".2009-09-282009-10-09Miechów.Grupa Doradcza Projekt - Kraków.60
Moduł "Obsługa komputera" w ramach kursu "Sprzedawca".2009-05-252009-06-05Miechów.Grupa Doradcza Projekt - Kraków.60
Obsługa komputera, kas fiskalnych, fakturowanie - moduł "Obsługa komputera".2008-11-272008-12-09Miechów.Grupa Doradcza Projekt - Kraków.50
Obsługa komputera z aktywnym poszukiwaniem pracy.2008-10-272008-11-10Miechów.Grupa Doradcza Projekt - Kraków.60
Łączna ilość godzin: 2306.

PHP -> Obsługa wyjątków.


Dodał / zmodyfikował: pkania, w dniu:2017-04-26

Obsługa wyjątków, to po prostu pewien sposób (bardziej „elegancki”) obsługi błędów.

Podstawowa składnia obsługi wyjątków.

Na początek próbujemy (ang. try) wykonać fragment kodu znajdujący się w sekcji try.

try {

  // kod, który może powodować jakąś sytuację wyjątkową

} catch (KlasaWyjątku $zmienna) {

  // kod obsługi wyjątku

}

Następnie przechwytujemy wyjątek (ang. catch) i wykonujemy kod znajdujący się w sekcji catch. Kod obsługi wyjątku to najczęściej wyświetlenie komunikatu błędu.

KlasaWyjątku to najczęściej wbudowana klasa Exception (chyba, że stworzyłeś własną klasę do obsługi wyjątku, co opiszemy w dalszej części artukułu).

$zmienna – zdefiniowana przez nas zmienna do przechowywania obiektu klasy Exception. Najczęściej ta zmienna przyjmuje nazwę $e, gdzie „e” oznacza skrót słowa exception.

W bloku catch możemy wykorzystać metody obiektu klasy Exception, które dostarczają dokładne informacje o błędzie.

Wykaz dostępnych metod klasy Exception:

Metoda

Opis

getCode()

Metoda zwracająca jedynie kod błędu.

getFile()

Metoda zwracająca nazwę pliku, w którym wystąpił wyjątek.

getLine()

Zwracany jest numer linii  w którym wystąpił błąd.

getMessage()

Zwracany jest komunikat o błędzie.

getTrace()

Zwracana jest tablica zawierającą informacje debugowe (tzw. backtrace).

getTraceAsString()

Zwraca backtrace jako ciąg znaków.

 

Silnik PHP udostępnia możliwość zgłoszenia, czy też jak się zwykło mówić „rzucenia” wyjątku (ang. throw). Polega to na wygenerowaniu wyjątku w wyjątkowej (nadzwyczajnej) sytuacji, która wymaga specjalnej obsługi.

Przykłady:

 

        function podziel($a, $b){

            if($b == 0)

                throw new exception('Nie dzielimy przez zero !');

            return $a/$b;

        }

            

        try{

            echo podziel(2,0);

        } catch(exception $e){

           echo $e->getMessage();

        }

   

        function obliczPole($a, $b){

            if($a <= 0 || $b <= 0)

            throw new exception('Obliczanie pola przy wartości a lub b zero nie ma większego sensu !');

            return $a * $b;

        }

   

        if(function_exists('obliczPole')){

            try{

                echo obliczPole(1,0);    

            } catch(exception $e)

                echo $e->getMessage();              

            }

        }

 

Tworzenie własnej klasy obsługi wyjątku.

Stworzenie własnej obsługi błędu polega na utworzeniu nowej klasy dziedziczącej po klasie Exception.

Przykład podstawowy:

        class mniejszeOdZera extends Exception{

        }  

   

        function czyDodatniArg($a){

            if($a < 0){

            throw new mniejszeOdZera("Argument mniejszy od zera: $a.");

        }

          }

 

      try{

        czyDodatniArg(-10);

      } catch(mniejszeOdZera $e){

        echo $e->getMessage();

      }

 

Przykład1 z przeciążeniem konstruktora:

class mniejszeOdZera extends Exception{

             public function __construct($message = null, $code = 0){

                if (!$message)

                    throw new $this('Brak komunikatu błedu, wywoływana klasa: '. get_class($this));

                }

             parent::__construct($message, $code);

              }

        }  

   

        function czyDodatniArg($a){

            if($a < 0){

              throw new mniejszeOdZera();

            }

        }

 

      try{

        czyDodatniArg(-10);

      } catch(mniejszeOdZera $e){

        echo $e->getMessage();

      }

Wynik:

Brak komunikatu błedu, wywoływana klasa: mniejszeOdZera

 

Przykład2 z przeciążeniem konstruktora (z własnym komunikatem oraz kodem błędu):

class mniejszeOdZera extends Exception{            

             public function __construct($message = null, $code = 0){

                if (!$message) {

                    throw new $this('Brak komunikatu błedu, wywoływana klasa: '. get_class($this));

                }

                parent::__construct($message, $code);

              }

        }  

   

        function czyDodatniArg($a){

            if($a < 0){

              throw new mniejszeOdZera('Własny komunikat błędu', 900);

            }

        }

 

      try{

        czyDodatniArg(-10);

      } catch(mniejszeOdZera $e){

        echo $e->getMessage();

        echo $e->getCode();

      }

Wynik:

Własny komunikat błędu900