Admin strxfrm mac #81
Loading…
Reference in a new issue
No description provided.
Delete branch "strxfrm_pro_mac"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
pridan try except, aby to na macu nespadlo a jen se to neseradilo
Doplň tam prosím komentář, proč to tam je.
Potom mi to přijde jako přípustné řešení tohoto problému :)
takhle?
Prosím vypiš někde varování (
logger.warning("...")
), že se to děje, protože na tenhle kód se pravděpodobně zapomene a s varováním to aspoň půjde dohledat…@ -61,0 +63,4 @@
except OSError as e:
# locale.strxfrm nefunguje na macu... :-/ -> neprovede se řazení
logger = logging.getLogger(__name__)
logger.error(e)
Aspoň u mně tohle vygeneruje něco typu
2025-01-14 19:46:39,302 - mamweb.admin - ERROR - OSError: Invalid argument
a nic víc, což není moc užitečné (nikde není odkaz přímo do zdrojáku ani chybová hláška nejde najít ve zdrojácích). Navrhuji něco typulogger.error(f"Zdá se, že nefunguje strxfrm: {e}; admin bude špatně seřazený.")
I mean, měnit to teď asi nebudu, ale aspoň pro příště, prosím. Jinak vyrobíme web, který generuje náhodné errory, které nepůjde dohledat… (A ano, tím myslím, že
logger.error('Kočka leze dírou!')
je v tomhle místě možná užitečnější, as long as ta kočka dírou nepoleze úplně všude…)(A pročže to není
logger.warning
? Funkčnost webu to omezuje jen v omezeném rozsahu… Ale asi je to jedno…)Za mě
logger.error('Kočka leze dírou!')
je úplně k ničemu z toho pohledu, že vůbec netušíš, proč to spadlo (a pak to může spadnout z nějakého absurdního důvodu, který se jen tak nezopakuje, a budeme lovit duchy). A proto jsem něco podobného Vaškovi zatrhl a nechal ho vypisovat chybu.To je trochu smutné, že to nenapíše nic víc. Neumíme tu chybu vypsat nějak použitelněji?
Proto navrhuji
….error(f"…{e}…")
. A přijde mi, že stejně v ≥80% případů při chybě budu potřebovat koukat do kódu, takže hlavně potřebuji umět najít místo v kódu (pramení ze zkušenosti s lovením divných bugů v náhodných kusech SW). A to není argument proti tomu tam mít actually co se stalo (byť EINVAL je důvod jak noha…), ale pro to mít před ním / v okolí nějakou věc, které se při lovení chyby půjde chytit. (Teoreticky se dá vypsat celý traceback, což trochu může pomoci…)A ano, hodí se i vědět, jak kód reprodukovat, ale to (a) obstará i komentář na příslušném místě v kódu (ten tam je), (b) se vykouká případně o dost snadněji z okolí toho kódu a (c) v tomhle případě se to nejspíš bude na jednom HW chovat konzistentně pořád.