Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ta reda på namnet av den funktion som man befinner sig i

Postades av 2006-10-25 12:26:56 - Jimmy Nilsson, i forum vb.net, Tråden har 2 Kommentarer och lästs av 767 personer

Hej!

Jag håller på att göra en felhantering och vill göra koden för själva felhanteringen i catch så enkelt och kopierings vänlig som möjligt.

Idag gör jag så att jag bubblar felen uppåt och för varje catch så lägger jag ett eget message som berättar vilken klass(me/this.ToString()) och funktions namnet, dessutom skickar jag med Exceptionet som ett innerException för att bubbla detta uppåt.

När felet kommer upp till översta lagret loopas alla innerexceptions igenom och läggs till i en array, där man även berättar i message att det är ett inner exception. Avlutningsvis läggs top felet till som inte är ett inner exception. På detta vis kan vi se exakt hur felet har bubblats.

Idag skriver man in funktionsnamnet för hand vilket är väldigt klumpigt då man lätt glömmer ändra detta när man kompierar en annan funktions catch.
ex:

Catch ex As Exception
Throw New Exception(Me.ToString() + "."myFunction", ex)

För att motverka detta vill jag alltså att detta fylls i automatiskt, detta har jag hittat en lösning på enligt följande:

Imports System.Diagnostics

Catch ex As Exception
Throw New Exception(Me.ToString() + "." + New StackTrace().GetFrame(1).GetMethod().Name, ex)

Jag har dock hört att StackTrace tar en hel del prestanda så frågan är om det är okay att använda på en felhantering på detta vis eller om det finns ett annat vis?


Svara

Sv: Ta reda på namnet av den funktion som man befinner sig i

Postades av 2006-10-25 13:40:03 - Simon Dahlbacka

Det går inte att göra (tillförlitligt)

Så som du beskriver funkar bra i Debug mode, men i Release mode (dvs med optimering påslagen) så kan en frame bli bortoptimerad/inlinad, och i detta fall kommer din kod att peka fel, och felsökningsinfo som pekar fel är nästan värre än ingen info alls IMO.


Svara

Sv:Ta reda på namnet av den funktion som man befinner sig i

Postades av 2006-10-25 16:28:09 - Jimmy Nilsson

hmm låter inte bra!

Vi kommer att ha funktions namnet kvar i felhanteringen och frågan e om inte detta är bättre att använda stacktracen istället för att själv skriva in det förhand ändå?

Risken är ju ganska stor att man glömmer ändra funktions namnet förhand.

Sen kan man fråga sig om det gör någon skildnad att köra debug version hela tiden, det verkar ju inte som prestandan blir enormt mycket bättre i release?


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
381
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies