|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  • * Dator Kunskap >> Programvara >> Open Source Code >> Content

    Hur kan ett program göras för att skriva ut namnet på källfilen där ett fel uppstår?

    Metoden för att skriva ut källfilnamnet där ett fel uppstår beror starkt på programmeringsspråket och typen av fel. Här är en uppdelning av tillvägagångssätt för flera vanliga scenarier:

    1. Undantagshantering (de flesta språk):

    De flesta moderna språk har undantagshanteringsmekanismer. Kärnidén är att fånga undantag och extrahera information om var de har sitt ursprung. Detta inkluderar ofta filnamnet och radnumret.

    * python:

    `` `python

    importback

    försök:

    # Någon kod som kan höja ett undantag

    resultat =10/0

    utom undantag som E:

    traceback.print_exc () # skriver ut hela traceback, inklusive filnamn och radnummer

    `` `

    `Traceback.print_exc ()` är avgörande här. Ett enkelt "tryck (e)" kanske bara visar undantagstyp och meddelande, inte platsen.

    * java:

    `` `Java

    försök {

    // någon kod som kan höja ett undantag

    int resultat =10/0;

    } catch (arithmeticException e) {

    e.printStackTrace (); // skriver ut stackspåret med filnamn och radnummer

    }

    `` `

    `E.printStackTrace ()` ger liknande funktionalitet som Pythons `traceback.print_exc ()`.

    * C ++:

    C ++ har inte inbyggt undantagshantering så elegant som Python eller Java. Du måste använda felsökningsverktyg eller bibliotek som `libunwind 'för att få detaljerad stackspårinformation. Detta är mer komplex och kräver ofta kompilator- och länkflaggor för att möjliggöra felsökningssymboler. Grundläggande felhantering kan bara involvera loggning av felet med "perror" som inte ger information om filnamn.

    * javascript (node.js):

    `` `JavaScript

    försök {

    // någon kod som kan kasta ett fel

    Låt resultat =10/0;

    } catch (fel) {

    Console.Error (Error.Stack); // skriver ut stackspåret inklusive filnamn och radnummer

    }

    `` `

    2. Förprocessordirektiv (C/C ++):

    I C och C ++ kan du använda förbehandlaren för att infoga filnamnet i din kod:

    `` `C ++

    #include

    #Definera file_name __File__

    int main () {

    försök {

    int resultat =10/0;

    } catch (const std ::undantag &e) {

    std ::cerr <<"Fel i fil:" < // ... mer detaljerad felhantering ...

    }

    return 0;

    }

    `` `

    `__File__` är ett förbehållsmakro som expanderar till den aktuella filens namn. Detta är mindre sofistikerat än undantagshanteringens stackspår, eftersom det bara ger filnamnet på den omedelbara felplatsen, inte kedjan av funktionssamtal som leder till den.

    3. Loggbibliotek:

    Många loggningsbibliotek (som "logging" i Python eller "log4j" i Java) innehåller automatiskt fil- och radinformation i sina loggmeddelanden. Detta är ett bra tillvägagångssätt för att spåra fel under programutförandet, även om du inte uttryckligen hanterar undantag vid varje potentiell felpunkt.

    4. Debuggers:

    Debuggers (som GDB för C/C ++, PDB för Python) är ovärderliga för att hitta fel. De tillhandahåller detaljerad information om exekveringstillståndet vid felet, inklusive filnamnet och radnumret.

    Viktiga överväganden:

    * Debug Builds: För många språk behövs kompilatoralternativ för att möjliggöra felsökningsinformation (t.ex. `-g` flagga i GCC). Denna information är avgörande för stackspår och felsökningsfunktionalitet. Release Builds tar ofta bort denna felsökningsinformation för att minska körbar storlek.

    * Felhanteringsstrategi: Bestäm om du ska hantera fel lokalt (med "försök ... utom"/"försök ... fånga") eller centralt (med loggning). En hybridmetod är ofta bäst.

    * tydlighet: Undvik generiska felmeddelanden. Ge kontext när det är möjligt (t.ex. "felläsningsfil 'data.txt'").

    Kom ihåg att välja den metod som bäst passar ditt språk, komplexiteten i din applikation och din felhanteringsstrategi. Undantagshantering i kombination med ett loggningssystem erbjuder vanligtvis en robust lösning.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör en Bot på ICP
    ·Hur Flip Saker i Open Office
    ·Hur du justerar CSS att förskjuta hela högra kolonnen…
    ·Installation av Spot HQL
    ·Hur man skapar en e-postserver gratis med en Source Cod…
    ·SRP Protokoll
    ·Vilken betydelse den senaste applikationsprogramvaran f…
    ·Hur lägger jag ett typsnitt i Joomla
    ·Vilka är några användbara verktyg för nätverkshant…
    ·Antalet anslutningar i Apache
    Utvalda artiklarna
    ·Hur man gör en interaktiv Powerpoint Inklusive ett gra…
    ·Så här importerar mer än 65.536 rader i Excel 2003
    ·Lägga till flera tabeller till en arbetsbok i Excel 20…
    ·Hur Arkiv PDF
    ·Hur man skriver ut 4X6 Index Cards
    ·Är Skype en programvara eller hårdvara?
    ·Hur Publicera Med Scribus
    ·Hur man gör kulhål i After Effects ser mer Real
    ·Tips för bakgrunder i Adobe Photoshop
    ·Fördelar med Web Animation
    Copyright © Dator Kunskap https://www.dator.xyz