Projekt

Allgemein

Profil

Aktionen

GX-Abgewiesen #60872

geschlossen

Exception bei nicht vorhandenen Artikeln muss gefangen werden, damit der CheckStatusController nicht mit einem Fehler 500 abbricht / Exception for non-existing products must be caught, so that the CheckStatusController does not abort with error 500

Von Till Tepelmann vor mehr als 5 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Abgewiesen
Priorität:
Hoch
Zugewiesen an:
Marvin Muxfeld
Kategorie:
Core
Zielversion:
-
Beginn:
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Release Notes Langtext:

Beschreibung

Exception bei nicht vorhandenen Artikeln muss gefangen werden, damit der CheckStatusController nicht mit einem Fehler 500 abbricht

Kann wir folgt reproduziert werden:

1.rufe die URL "meinshop.de/product_info.php?products_id=0

  1. es wird ein Eintrag im Log erstellt und die Seite ist nicht aufrufbar
  2. Es sollte eine 404 Seite oder Header gesendet werden

Wenn man die URL sehr oft aufruft, kann das das Log zumüllen, dies sollte verhindert werden, indem auf eine 404 Seite oder die Startseite umgeleitet wird, wenn die benutzerfreundliche Feherseiten deaktivert sind.


Exception for non-existing products must be caught, so that the CheckStatusController does not abort with error 500

Can be reproduced as follows:

1.call the URL "meinshop.de/product_info.php?products_id=0

  1. an entry is created in the log and the page is not accessible
  2. a 404 page or header should be sent

If you access the URL very often, this can clutter the log, this should be prevented by redirecting to a 404 page or the home page if the user friendly error pages are disabled.


FATAL ERROR(1): "Uncaught UnexpectedValueException: The requested product was not found in database (ID: 1789) in /GXMainComponents/Services/Core/Product/Repositories/Reader/ProductRepositoryReader.inc.php:85
Stack trace:
#0 /GXMainComponents/Services/Core/Product/Repositories/ProductRepository.inc.php(152): ProductRepositoryReader->getById(Object(IdType))
#1 /GXMainComponents/Services/Core/Product/ProductReadService.inc.php(77): ProductRepository->getProductById(Object(IdType))
#2 /GXMainComponents/Controllers/HttpView/ShopAjax/CheckStatusController.inc.php(485): ProductReadService->getProductById(Object(IdType))
#3 /GXMainComponents/Controllers/HttpView/ShopAjax/CheckStatusController.inc.php(114): CheckStatusController->_getQuantityChecker()
#4 /GXEngine/Services/System/Http/HttpViewController.inc.php(152): CheckStatusController->actionAttri"



Zugehörige Tickets

Duplikat von GX-Entwicklung - GX-Bug #61173: Bestandsprüfung auf nicht existente Artikel löst ungefangenen Fehler aus und führt zu langen LadezeitenErledigtJulian Heckmann

Aktionen
Aktionen

Auch abrufbar als: Atom PDF