🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309781

Re: Modułowa aplikacja w C++ - zgłaszanie błędów przez moduły

#309781
From: szykcech
Date: Fri, 04 Jan 2019 20:36
25 lines
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-mail
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>

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