ich meine Meinung darüber, wie steckte mit Fehlerbehandlung im folgenden Fall zu modellieren:Scala Fehlermodellierung
I CommonErrors
habe, die Fehler sind, die solche für all meine Methoden
Ich habe auch bestimmte Fehler auftreten kann wie: Error1
, Error2
, Error3
Also haben wir am Ende
DoAErrors
= CommonErrors
+ Error1
+ Error2
DoBErrors
= CommonErrors
+ Error2
+ Error3
und die Methodensignaturen:
doA() Either[DoAErrors, DoAResult]
doB() Either[DoBErrors, DoBResult]
Zu schön, ich so die Kunden meiner Bibliothek versiegelten Züge nutzen möchten, können sicher Muster Match auf DoAErrors
und DoBErrors
und fangen Sie die allgemeinen + spezifischen Fehler auf. Bis jetzt, was ich versucht:
sealed trait CommonErrors
… extends CommonErrors
… extends CommonErrors
sealed trait DoAErrors extends CommonErrors
Error1 extends DoAErrors
sealed trait DoBErrors extends CommonErrors
Error2 extends DoAErrors with DoBErrors
Error3 extends DoBErrors
Das Problem kommt von der Tatsache, dass doA()
und doB()
intern eine Methode aufrufen, die eine CommonError
zurückgibt und es ist nicht möglich, CommonErrors
in DoA
noch DoB
Fehler nachzurüsten. Wie würde man diesen Fall modellieren?
Danke für die Hilfe!
hmm eigentlich macht es Sinn, werde ich versuchen, und lassen Sie wissen. Ursprünglich hatte ich nur CommonErrors, also als ich ErrorA und B hinzufügte, versuchte ich, mit den vorhandenen Fehlern zu komponieren. Danke vielmals ! –
Es scheint gut zu funktionieren! Vielen Dank ! –