Fel i PHP 7: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== Fel i PHP 7 == PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag. Precis som med vanliga undantag kommer dessa '''Error'''-undantag att bubbla upp tills de når det första matchande '''catch'''-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare install...')
 
 
(3 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== Fel i PHP 7 ==
PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag.
Precis som med vanliga undantag kommer dessa '''Error'''-undantag att bubbla upp tills de når det första matchande '''catch'''-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare installerad med '''set_exception_handler()''' att anropas, och om det inte finns någon standardundantagshanterare, kommer undantaget att konverteras till ett fatalt fel och hanteras som ett traditionellt fel.
Eftersom '''Error'''-hierarkin inte ärver från '''Exception''', kommer kod som använder '''catch (Exception $e) { ... }'''-block för att hantera ohanterade undantag i PHP 5 att upptäcka att dessa '''Errors''' inte fångas av dessa block. Antingen ett '''catch (Error $e) { ... }'''-block eller en '''set_exception_handler()'''-hanterare krävs.
== Fel i PHP 7 ==
== Fel i PHP 7 ==


Rad 8: Rad 16:


=== Error-hierarki ===
=== Error-hierarki ===
* '''Throwable'''
== Fel i PHP 7 ==
    * '''Error'''
 
        * '''ArithmeticError'''
PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag.
        * '''DivisionByZeroError'''
 
        * '''AssertionError'''
Precis som med vanliga undantag kommer dessa '''Error'''-undantag att bubbla upp tills de når det första matchande '''catch'''-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare installerad med '''set_exception_handler()''' att anropas, och om det inte finns någon standardundantagshanterare, kommer undantaget att konverteras till ett fatalt fel och hanteras som ett traditionellt fel.
        * '''CompileError'''
 
        * '''ParseError'''
Eftersom '''Error'''-hierarkin inte ärver från '''Exception''', kommer kod som använder '''catch (Exception $e) { ... }'''-block för att hantera ohanterade undantag i PHP 5 att upptäcka att dessa '''Errors''' inte fångas av dessa block. Antingen ett '''catch (Error $e) { ... }'''-block eller en '''set_exception_handler()'''-hanterare krävs.
        * '''TypeError'''
 
        * '''ArgumentCountError'''
=== Error-hierarki ===
        * '''ValueError'''
 
        * '''UnhandledMatchError'''
* [[Throwable]]
        * '''FiberError'''
** [[Error]]
    * '''Exception'''
*** [[ArithmeticError]]
**** [[DivisionByZeroError]]
 
* [[AssertionError]]
* [[CompileError]]
** [[ParseError]]
* [[TypeError]]
** [[ArgumentCountError]]
* [[ValueError]]
* [[UnhandledMatchError]]
* [[FiberError]]
* [[Exception]]
 
= Sidslut =
Orginalhemsidan på Engelska :
<BR>[[PHP]]
<BR>[[Språkreferens]]
<BR>[[Språkreferens#Fel]]
[[Kategori:Php]]<br>
<BR>
<hr>
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/

Nuvarande version från 20 augusti 2024 kl. 08.40

Fel i PHP 7

PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag.

Precis som med vanliga undantag kommer dessa Error-undantag att bubbla upp tills de når det första matchande catch-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare installerad med set_exception_handler() att anropas, och om det inte finns någon standardundantagshanterare, kommer undantaget att konverteras till ett fatalt fel och hanteras som ett traditionellt fel.

Eftersom Error-hierarkin inte ärver från Exception, kommer kod som använder catch (Exception $e) { ... }-block för att hantera ohanterade undantag i PHP 5 att upptäcka att dessa Errors inte fångas av dessa block. Antingen ett catch (Error $e) { ... }-block eller en set_exception_handler()-hanterare krävs.

Fel i PHP 7

PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag.

Precis som med vanliga undantag kommer dessa Error-undantag att bubbla upp tills de når det första matchande catch-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare installerad med set_exception_handler() att anropas, och om det inte finns någon standardundantagshanterare, kommer undantaget att konverteras till ett fatalt fel och hanteras som ett traditionellt fel.

Eftersom Error-hierarkin inte ärver från Exception, kommer kod som använder catch (Exception $e) { ... }-block för att hantera ohanterade undantag i PHP 5 att upptäcka att dessa Errors inte fångas av dessa block. Antingen ett catch (Error $e) { ... }-block eller en set_exception_handler()-hanterare krävs.

Error-hierarki

Fel i PHP 7

PHP 7 ändrar hur de flesta fel rapporteras av PHP. Istället för att rapportera fel genom den traditionella felrapporteringsmekanismen som användes i PHP 5, rapporteras de flesta fel nu genom att kasta Error-undantag.

Precis som med vanliga undantag kommer dessa Error-undantag att bubbla upp tills de når det första matchande catch-blocket. Om det inte finns några matchande block, kommer en eventuell standardundantagshanterare installerad med set_exception_handler() att anropas, och om det inte finns någon standardundantagshanterare, kommer undantaget att konverteras till ett fatalt fel och hanteras som ett traditionellt fel.

Eftersom Error-hierarkin inte ärver från Exception, kommer kod som använder catch (Exception $e) { ... }-block för att hantera ohanterade undantag i PHP 5 att upptäcka att dessa Errors inte fångas av dessa block. Antingen ett catch (Error $e) { ... }-block eller en set_exception_handler()-hanterare krävs.

Error-hierarki

Sidslut

Orginalhemsidan på Engelska :
PHP
Språkreferens
Språkreferens#Fel


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/