Wat is een “interne fout” en hoe los ik deze op?

Ik gebruik een programmeertool (een compiler of IDE of een andere tool) en het rapporteert een “interne fout” met enkele onbegrijpelijke details wanneer ik het gebruik. Ik wil deze fout herstellen. Wat moet ik doen?


Antwoord 1, autoriteit 100%

De programmeertool moet fouten in uw programma rapporteren, zoals syntaxisfouten in uw code, runtime-fouten wanneer u het uitvoert en testfouten wanneer u het test, zodat u uw code kunt repareren. Maar die programmeertool is zelfeen computerprogramma, en dus kan zelffouten bevatten. Zorgvuldige programmeurs van gecompliceerde programma’s voeren zelfcontroles uit om de gevolgen van onbekende bugs op te sporen. Als een van die zelfcontroles mislukt, heeft de programmeur ervoor gezorgd dat het programma informatie over de mislukte zelfcontrole rapporteert. Om verwarring te voorkomen tussen fouten in uwcode en fouten in de tool zelfis het gebruikelijk om de fout in de tool zelf een interne foutte noemen.

In veel programmeertalen worden zelfcontroles uitgevoerd met behulp van assertions , en informatie over de fout wordt verstrekt in de vorm van een stack-trace.

Dus, hoe los je een interne foutop? Dat kan niet. De fout zit niet in je code. Alleen de ontwikkelaar van de programmeertool kan het repareren. Maar dat betekent niet dat u niets kunt doen.

  • Als u een oude versie van de programmeertool gebruikt, is het mogelijk dat een nieuwere versie van de tool het probleem heeft verholpen. Overweeg daarom om uw programmeertool bij te werken of te upgraden.

  • Als uw code gebruik maakt van ongewone of nieuwe programmeerconstructen, kan het zijn dat het gereedschap het probleem heeft omdat de constructen nieuw of ongebruikelijk zijn, en dus niet hebben gehad bugs gedetecteerd en geëlimineerd door frequent gebruik. Overweeg daarom uw code te herschrijven om niet gebruik te maken van ongewone of nieuwe programmeerconstructen in het gedeelte van uw code dat de interne fout lijkt te hebben geactiveerd.

  • Als u een up-to-date-versie van het programmeergereedschap gebruikt, overweeg dan het indienen van een bugrapport aan de ontwikkelaars van het gereedschap.

Other episodes