Fel i PHP 7: Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) |
||
(2 mellanliggande sidversioner av samma användare visas inte) | |||
Rad 16: | Rad 16: | ||
=== Error-hierarki === | === Error-hierarki === | ||
== Fel i PHP 7 == | |||
Throwable | |||
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 === | |||
* [[Throwable]] | |||
** [[Error]] | |||
*** [[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/