jam231 / sia

Stock market server (part of stock market simulation system).
1 stars 0 forks source link

Error handling. #4

Closed jam231 closed 11 years ago

jam231 commented 11 years ago

Jak realizujemy obsługę i zgłaszanie błędów ? Przychodzą mi do głowy dwie alternatywy:

Jeżeli macie jakieś inne propozycje to piszcie w komentarzach. To dość ważna kwestia, która należy rozstrzygnąć teraz.

jam231 commented 11 years ago

Ok jeszcze jest trzecia możliwość (niby mało elegancka, ale co to właściwie znaczy...). Tam gdzie może się coś zepsuć dodajemy argument (do metod\funkcji\konstruktorów) bool& ok i później weryfikujemy. Możemy pójść o krok dalej i zamiast bool& przesyłać coś w stylu Maybe& error. Mam wtedy pełniejszą informacje i możemy ja przesyłać 'wyżej'.

jam231 commented 11 years ago

Po krótkiej rozmowie doszliśmy z Karolem do porozumienia, ze będziemy używać wyjątków. Przestrzegam jednak przed śmiałym używaniem wątków tam gdzie w grę wchodzą sloty i sygnał. Taka zabawa skończy się błędem:

'Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there.'