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


Error hantering

Postades av 2003-05-23 10:47:21 - Tyronne Engström, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 787 personer

Hej!

jag använde följande kod för att fånga upp error

<code>
If Err <> 0 Then ' another error
MsgBox " Ett oväntat fel har uppstått: " & Err.Description & " Error nr: " & Err.Number
End If
</code>

min fråga är... kan man på något sätt även ange namnet på subrutinen via en färdig funktion i VB

ex

<code>
If Err <> 0 Then ' another error
MsgBox " Ett oväntat fel har uppstått: " & Err.Description & " Error nr: " & Err.Number & " : " & subname
End If
</code>

Mitt program är under uppbyggnad och jag vill använda en generell errorhantering för att fånga de fel som finns. OCh då vill jag ha med subnamnet eller funktionsnamnet

Sedan kommer jag att styra errorhanteringen mer specificerat

/Phinala


Svara

Sv: Error hantering

Postades av 2003-05-23 11:06:51 - Emma Magnusson

Hmm... du kan skapa en egen klass Fel och anropa den om ett fel uppstår,
skicka med Err in så har du all information du behöver. Du bör även specificera några
egna textsträngar som kan hjälpa användaren mer än de som Microsoft har skapat...

/Emma


Svara

Sv: Error hantering

Postades av 2003-05-23 21:38:24 - Per Hultqvist

Tyvärr finns det ingen funktion som returnera funktions-namnet i VB6 men om du vill kan du ju skapa en central felhanteringsklass till vilken du skickar in metodnamnet (hårdkodat). Här kommer ett exempel på en enkel central felhanterare som ger dig en trace (lista över funktioner, från den funktion som felet inträffade i, till den funktion som slutligen hanterar felet.).

Det är lite extra kod att skriva i varje funktion men om du har en felhanterare i VARJE sub/funktion så kommer ditt program i princip aldrig att krascha. Sen att det fortfarande blir fel är ju en annan sak.

Jag var med i ett projekt som använde en liknande felhantering som nedan (fast betydligt mer genomarbetad, men principiellt likadan som nedan), där vi använde kodgenereringsverktyg varje gång man skapade en ny sub/funktion som la in felhanteringen och jag tror att det programmet kraschade högst 10 ggr under utvecklingsfasen (dvs under alfa, beta-fas) trots tusentals buggar i programmet. Programmet bestod av 700 000+ rader. Varje gång en bugg dök upp så visste man exakt i vilken funktion felet uppstått, samt hur exekveringen gått till. Underskatta (och ignorera) aldrig felhantering.

Klassen cErrorHandler :
<code>
Option Explicit

Public Sub AddError(ByVal functionname As String)
Err.Source = Err.Source + functionname + vbCrLf
End Sub

Public Sub RaiseFromLastError()
Err.Raise Err.Number, Err.Source, Err.Description
End Sub

Public Property Get Trace() As String
Trace = Err.Source
End Property
</code>

Ett formulär :
<code>
Option Explicit

Private mErrorHandler As cErrorHandler

' This function does not raise error
Public Sub sub1()
Set mErrorHandler = New cErrorHandler
On Error GoTo errorhandler
sub2
Exit Sub
errorhandler:
MsgBox mErrorHandler.Trace
End Sub

' This function raises error
Public Sub sub2()
On Error GoTo errorhandler
sub3
Exit Sub
errorhandler:
mErrorHandler.AddError "Sub2()"
mErrorHandler.RaiseFromLastError
End Sub

' This function raises error
Public Sub sub3()
On Error GoTo errorhandler
Err.Raise 13
Exit Sub
errorhandler:
mErrorHandler.AddError "Sub3()"
mErrorHandler.RaiseFromLastError
End Sub

</code>


Svara

Sv: Error hantering

Postades av 2003-05-24 00:50:32 - Jan Bulér

Hej.

Jag använder mig av en AddIn (Gratis) som heter HuntERR och finns på
http://www.urfinjus.net/UJ2/Home.asp Jag tycker den fungerar riktig bra och man har inställningar för många olika situationer. T ex så får man ett felmeddelande med hela Call-stacken specificerad samt vilka parametrar och dess värden som ingår i t ex ett funktion där något gått fel.

Janne


Svara

Sv: Error hantering

Postades av 2003-05-24 22:00:18 - Markus Hansson

Använder också en AddIn där man via mallar autogenerar felhantering.

Den var gratis och, gjord av Steven A. Phillips, och fanns på www.pjjkdev.com. Hittade den inte där nu, så hör av dig om jag skall maila den.

Ex. på genererad felhantering från min kod:

'************************************************************************************
' Description:
'
' Change Log
' Date Programmer Description
' 2002-05-28 MH Initial Release
'************************************************************************************

Private Sub cmdExecute_Click()
On Error GoTo ErrorHandler
LogIt "PostNetAvreg_cmdExecute_Click - PRE"

' KOD

Done:
LogIt "PostNetAvreg_cmdExecute_Click - POST"
Exit Sub

ErrorHandler:
Dim lngErrNum As Long: Dim strErrDesc As String: Dim strErrSource As String: lngErrNum = Err.Number: strErrDesc = Err.Description: strErrSource = Err.Source
LogIt "PostNetAvreg_cmdExecute_Click - ERROR: " & strErrDesc, "Log"
If InDesign Then
Stop: Resume
Else
MsgBox "Ett fel uppstod:" & vbNewLine & strErrDesc & vbNewLine & "Källa: " & "PostNetAvreg_cmdExecute_Click", , "Viscar"
End If
GoTo Done
End Sub

/S


Svara

Sv: Error hantering

Postades av 2003-05-26 08:21:15 - Tyronne Engström

Jag tackar för alla svar jag har fått.
Jag har en del att bygga på, så jag får prova alla mtoderna för att se fördelar med dem.

Det är ett helvete när man inte vet vad som går fel.....men nuhar jag en säker hjälp..


Tacka allehopa!

/Phinala


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 166
27 952
271 704
1 290
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