Lille fejl bemærket i logfilerne, hvor MCEBuddy parser svaret fra IMDB-søge-API-kaldet. Burde være en nem fælde eller tjek for at undertrykke det. Det er sandsynligvis det forventede svar, når forbindelsen timeouts eller måske er et tomt svar.
--> Søger IMDB for serietitel-match
WARNING> --> Fejl ved parsing af IMDB-show-svar
Fejl -> System.NullReferenceException: Objektreferencen er ikke indstillet til en forekomst af et objekt.
ved MCEBuddy.MetaData.IMDB.SearchShowTitle(String title, Nullable`1 releaseDate, ShowType matchType, Boolean firstMatchOnly, Boolean searchAKAs, Log jobLog)
--> IMDB-søgetitler fundet -> 0
Så hvad fortæller den fejl os egentlig om rodårsagen? De vigtige bidder til virkelig at identificere rodårsagen til fejlen er de parameterværdier, der sendes til funktionen – ikke funktionens signatur.
Og ja, jeg ved godt, det kræver lidt ekstra arbejde, fordi Java/C#/Python/osv. er totalt hjernedøde mht. fejlbeskeder; den værste er “ClassNotFound”, hvor beskeden ikke engang fortæller, hvilken klasse der ikke blev fundet. ProTip: kig i Pragmatic Programmer-serien om Java og se, hvordan de løser ClassNotFound ved at override ClassLoader-klassen – ret smart. Det kan kræve lidt fiklen med exception-håndteringen for at udvide/override exception’en, dumpe parametrene ud i MCEBuddy-loggen og derefter kaste den oprindelige exception igen.
Ligeledes ved vi i dette tilfælde ikke, hvilken parameter der forårsagede fejlen (eller om det blot var et simpelt netværks-timeout), eller om der var en API-fejl med en fejlkode. Selvom hvis der opstår en fejl som denne her uden at API-kaldet returnerer en fejlkode, burde det være en (lille) kodningsfejl på MCEBuddy-siden – ikke manglende respons fra API-tjenesten (som i så fald ville være en forventet (tom) ikke-respons – dvs. dette null-svar fra API’en).