Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

Logování chybové hlášky

Kompletní přehled příspěvků v tématu Logování chybové hlášky řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Pavel Krsek

Poslat zprávu | Profil
Datum: 18.12. 2019 | Zobrazeno: 1376x
Konfigurace CATIA: V5-6R2018

Text dotazu:
Dobrý den,
mám dotaz na vytvoření logu s chybou pro jednotlivé net aplikace. Zatím znám pouze způsob, že v každém sub mám try a v catch je volání jiného sub, který vytvoří log s názvem chyby, číslem řádku, atd.
To mi přijde, ale zdlouhavé u každého sub, function dávat tyto řádky. Je nějaká možnost do aplikace vložit pouze jeden kód, který při chybě aplikace vytvoří daný log?
Děkuji.

Ing Jan Cinert

Poslat zprávu | Profil
[#6759] | Publikováno: 18.12. 2019 - 09:51
Dobrý den

dělám to úplně stejně, jen se už neobtěžuju se zápisem do logu, ale jen s upozorněním, že nastala neočekávaná chyba (někdy dám do mxgboxu i výpis chyby. Zkrátka se jen snažím ošetřit všechny možné runtime error.
Try - Catch je ideální, někdy dávám ještě do Finally pár řádků, které se snaží vrátit některé chování Catie (pokud přežije chybu makra), např. interaktivitu a pod.

To na co ptáte by bylo lepší řešení, jedná univerzální rutina do každého projektu a nestarat se. Pokud existuje nějaké událost typu chyba, kterou lze použít jako handle, mohlo by to jít.

Použití Try-Catch se ale stejně nikdy nevyhnu. Uživatel je schopný vytvořit takové situace, které při mě při programování ani ve snu nenapadnou, a občas je tedy nutné odvrátit pád Catie a jemu nějak šetrně sdělit, že jeho způsobem to opravdu nepůjde.
Pavel Krsek

Poslat zprávu | Profil
[#6760] | Publikováno: 18.12. 2019 - 10:01
Dobrý den,
ten log mi celkem vyhovuje, protože u nás ve firmě používá moje aplikace cca 20 kolegů, ale všichni mi neříkají, že jim vyskočila chybová hláška. Pokud se, ale tyto chyby archivují do logu na síti, tak mám pak možnost kouknout, proč aplikace nefungují optimálně a mám pak možnost úpravou kódu předejít podobným chybám - pádům aplikace.

Na ten universální rutinu jsem koukal včera na nějakém anglickém fóru, ale zatím jsem to nepochopil, jak na to :)
Ing Jan Cinert

Poslat zprávu | Profil
[#6762] | Publikováno: 18.12. 2019 - 11:07
Ano, máte pravdu v tom, že někdo svědomitý chybu nahlásí a někdy dokonce popíše jak k tomu dospěl, ale ti co to mají na háku zkusí makro jednou použít (bez přečtení návodu či zkouknutí ukázkového videa), první pokus skončí chybou, tak prohlásí, že to funguje na h...o (a že autor je neschopný blbec), a dál makro použít nezkouší ---> ztráta pro obě strany.

Zapátrám, i mě by se to hodilo.
Jakub Dědík

Poslat zprávu | Profil
[#6836] | Publikováno: 26.09. 2020 - 09:53
Zdravím Pavle,
používáni try catch je asi nejsazší způsob jak chytat neočekávané chyby a já je používám stejně. Vždy do catch pošlu buď info o stavu operace, nebo jen objekt chyby a mám jednen sub co zase rozhodne podle parametru který dostane jesli bude logovat, vyhazovat hlášky a pod.

Osobně nedávám try catch uplně všude ale pouze tam kde se něco děje a vím že nedokažu vstup ošetřit dostatečně na to abych to měl 100% pokryté. Jako nejčastější kontroly jsou - jestli typ objektu co jsem dostal je správný, jestli není objekt prázdný, jestli má kolekce nějaké oběkty.

Celou proceduru kde se začne volat práce je v try catch, tím se mi chytne zbytek co jsem nepořešil.

Existuje taky třída Log pokud používáš VS např WinForm nebo WPF.

https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.logging.log?view=netframework-4.8

případně tady je postup řešení
https://stackoverflow.com/questions/20368699/handling-exception-at-application-level

je to využití eventu, který nastane při každé chybě, pak ho na něj stačí reagovat
Jakub Dědík

Poslat zprávu | Profil
[#6837] | Publikováno: 26.09. 2020 - 09:56
Uživatel cituje z příspěvku #6762:
' ...ti co to mají na háku zkusí makro jednou použít (bez přečtení návodu či zkouknutí ukázkového videa), první pokus skončí chybou, tak prohlásí, že to funguje na h...o (a že autor je neschopný blbec), a dál makro použít nezkouší ---> ztráta pro obě strany. '


Zdá se že máme všichni stejné zkušenosti :D. Ať udělá člověk aplikaci blbuvzdornou co nejvíc, vždy se najde někdo kdo si ani nepřečte manuál. Nejhorší je že ta blbuvzdornost je víc pracnější než samotná automatizace práce v catii ...
Ing Jan Cinert

Poslat zprávu | Profil
[#6843] | Publikováno: 26.09. 2020 - 11:10
Uživatel odpovídá na příspěvek #6837:

Naprostý souhlas, rutina napsaná za půl dne, a pak další dva dny ošetřování, kontroly vstupů a psaní manuálů.


Uživatel nepřihlášen

Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.