Nette\Debug – lepší odhad původu chyby v backtracu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pekelnik
Člen | 462
+
0
-

Nette již obsahuje poměrně vyspělý (nedávno vylepšený) algoritmus na odhad původu chyby v backtracu. Nezkoumal jsem přímo implementaci, ale vypozoroval jsem, že pokud se před frameworkovým kódem vykonává nějaký kód z %appDir% očekává se, že chyba pochází odtud.

Měl bych návrh aby Nette\Debug podobně jako s frameworkovým kódem zacházel s veškerým kódem z %libsDir%.

Myslíte si, že by to bylo ku prospěchu věci?

jasir
Člen | 746
+
0
-

By mě docela zajímalo, o jakém odhadu původu chyby to mluvíš, nějak vůbec netuším…

Ondřej Mirtes
Člen | 1536
+
0
-

jasir: Pokud Nette vyhodí výjimku, tak je ve stack trace rozbalený tvůj poslední zdroják, Nette zdrojáky jsou „collapsed“.

pekelnik: Hlasuju proti návrhu, ve firmě máme v libs spoustu vlastního kódu, který samotný může chybu způsobit.

pekelnik
Člen | 462
+
0
-

Příkladem může být Nette\Object – když ti v obsluze properties vyletí vyjímka nezobrazí se ti, že chyba je v ObjectMixin… ačkoli tam ta vyjímka vyletěla.

jasir
Člen | 746
+
0
-

Aha, dikes

David Grudl
Nette Core | 8147
+
0
-

Jak správě píše Ondra, princip je založen na prostém uvědomění, že v samotném frameworku žádné chyby nejsou a všechny je tudíž způsobuje ten bastl, co programujete, nebo ty pochybné knihovny, co používáte :-))

Honza Marek
Člen | 1664
+
0
-

Navrhuju zrušit sekci issues na githubu, protože všechny chyby již byly objeveny a opraveny.

Patrik Votoček
Člen | 2221
+
0
-

Naprostý souhlas 90% (možná i více) vlastního kódu mám právě v libs.

Zrušení $issues++;

Edit: ale možná by nebylo od věci moc si to nastavit…

phx
Člen | 651
+
0
-

Myslim si, ze vse v libs by melo byt osladeno a pouzivano funkcni bezchybna knihovna. Proto souhlasim s puvodnim navrhem.

%libsDir% collapsed ++

David Grudl
Nette Core | 8147
+
0
-

Pekelníku, nechceš založit téma, které „v rámci zbavování se prošlého magi“ bude proti tomuto návrhu protestovat? :-))