Article View: pl.comp.lang.c
Article #309781Re: Modułowa aplikacja w C++ - zgłaszanie błędów przez moduły
From: szykcech
Date: Fri, 04 Jan 2019 20:36
Date: Fri, 04 Jan 2019 20:36
25 lines
2567 bytes
2567 bytes
> W czym więc tkwi trudność? Pokaż kawałek kodu, bo nie
> potrafię sobie tego wyobrazić.
np. Mam takie zmienne w pliku SyntaxHighlighterPluginDefinitions.h:
namespace SyntaxHighlighterPlugin
{
static QString gLibraryId = QStringLiteral("SyntaxHighlighterPlugin.so");
enum class eErrorCode // defines all codes used in the library
{
eUnknown = 1,
eSpelingSystemError,
eEncodingError
};
}
By mieć zmienną gLibraryId i eErrorCode właściwą dla każdego modułu to muszę użyć przestrzeni nazw (jak to widać).
> Co robisz z tymi błędami na poziomie głównej aplikacji?
Zbieram je. Co program z tym robi to bez znaczenia - bo może robić cokolwiek.
> I co się dzieje w kodzie modułu?
Błędy raportuję standardowym makrem z parametrami: treść wyjątku, nazwa modułu (z gLibraryId) i kod błedu (z enumu). Do tego makro dodaje info o miejscu wystąpienia wyjątku (bądź ostrzeżenia). Ląduje to na liście w obiekcie typu singleton.
Technical Details
Message-ID:
<149dbd72-c15c-4511-8f97-ead9f6be616d@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!v55no1908094qtk.0!news-out.google.com!m21ni13978qta.0!nntp.google.com!v55no1908091qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<c5234940-9985-402d-8361-766ba93c1b16@googlegroups.com> <fd54afb4-c01d-4568-97c5-f0ab45086851@googlegroups.com> <291cd3f7-07fc-484d-89be-01601b7d9751@googlegroups.com> <a4067ae5-ec05-462b-9e25-b6324c4415fd@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:d196:: with SMTP id e22mr38890895qvh.53.1546634165054; Fri, 04 Jan 2019 12:36:05 -0800 (PST) X-Received: by 2002:a81:528b:: with SMTP id g133mr651933ywb.1.1546634164922; Fri, 04 Jan 2019 12:36:04 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!v55no1908094qtk.0!news-out.google.com!m21ni13978qta.0!nntp.google.com!v55no1908091qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Fri, 4 Jan 2019 12:36:04 -0800 (PST) In-Reply-To: <a4067ae5-ec05-462b-9e25-b6324c4415fd@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.82.55; posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw NNTP-Posting-Host: 188.146.82.55 References: <c5234940-9985-402d-8361-766ba93c1b16@googlegroups.com> <fd54afb4-c01d-4568-97c5-f0ab45086851@googlegroups.com> <291cd3f7-07fc-484d-89be-01601b7d9751@googlegroups.com> <a4067ae5-ec05-462b-9e25-b6324c4415fd@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <149dbd72-c15c-4511-8f97-ead9f6be616d@googlegroups.com> Subject: Re: Modułowa aplikacja w C++ - zgłaszanie błędów przez moduły From: szykcech@gmail.com Injection-Date: Fri, 04 Jan 2019 20:36:05 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit