Przejdź do treści głównej
INF.03Pytanie #1545 z 1558php-skladnia-i-struktury

Przeanalizuj konstrukcję bloku obsługi wyjątków. Co zostanie wypisane na ekranie w wyniku wywołania poniższej funkcji?

php
<?php
function test() {
    try {
        return 1;
    } 
    finally {
        return 2;
    }
}
echo test();
?>
Opcje odpowiedzi:
A
1
B
2
Prawidłowa
C
12
D
Kod wygeneruje blad krytyczny (Fatal Error)
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: B (2)

Ponieważ blok finally wykonuje się zawsze, niezależnie od tego, czy w bloku try wystąpił wyjątek, czy też nie. Co ważne, instrukcja return umieszczona wewnątrz bloku finally nadpisuje i anuluje każdą wcześniejszą instrukcję return znajdującą się w sekcjach try lub catch.

Opcja A jest niepoprawna, ponieważ instrukcja return 1 zostaje odrzucona na rzecz wykonania instrukcji z bloku finally. Opcja C jest niepoprawna, ponieważ funkcja może zwrócić tylko jedną wartość podczas pojedynczego wywołania, a wartości nie podlegają konkatenacji. Opcja D jest niepoprawna, ponieważ struktura kodu jest zgodna ze specyfikacją obsługi wyjątków w PHP.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Opcja 1 nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
  • C: Opcja 12 nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
  • D: Opcja Kod wygeneruje blad krytyczny (Fatal Error) nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Php skladnia i struktury”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 165 pytań z tego działu.