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


On Error Resume Next på allt?

Postades av 2005-09-20 12:57:47 - Thomas Roman, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 710 personer

Kan man få en On Error Resume Next att gälla över allt i ett program eller måste man skriva det i varje procedur?


Thomas


Svara

Sv: On Error Resume Next på allt?

Postades av 2005-09-20 13:26:15 - Per Hultqvist

Det finns ingen global felhantering i VB6 tyvärr.


Svara

Sv: On Error Resume Next på allt?

Postades av 2005-09-20 15:47:06 - Andreas Hillqvist

Använd hellre On Error Goto framför On Error Resume Next om det inte är så att du lässer av Err objektet efter fel.
Att ignorera fel är mycket fult. Du bör hantera fel som kan uppstå.


Svara

Sv:On Error Resume Next på allt?

Postades av 2005-09-20 15:57:46 - Thomas Roman

Om det nu skulle ha gått att ha en global On Error så antog jag Resume Next skulle vara den enda möjligheten.
Anledningen till att jag vill ha den globalt är för att jag har ett fel i ett program som jag helt enkelt inte kan hitta. Det uppstår enbart för en del personer och tyvärr inte för mig.
Det problemet tog jag upp i ["Run-time error '364': Object was unloaded"]


Thomas


Svara

Sv: On Error Resume Next på allt?

Postades av 2005-09-20 17:14:16 - Johan Svensson

Jo, det går att ha en global felhantering.

Vad du gör är helt enkelt att som allra första kodrad i den del av programmet som startas upp först lägger din "on error goto" och då även läser av err objektet för att få reda på vad som hänt.

Poängen är då att om fel inträffar i en underliggande funktion eller klass och det felet inte hanteras så avslutas den aktuella funktionen / klassen och man hoppar baklänges på call stacken tills man hittar en felhanterare.

Detta är varken snyggt eller bra på något sätt. Dessutom är det faktiskt det absolut långsammaste sättet att hantera fel förutom att viss spårdata kan försvinna på vägen.

Tyvärr kan man dock inte i VB6 på ett snyggt och enkelt sätt få ut call stacken så som man kan i VB.Net...


Lycka till!

// Johan


Svara

Sv:On Error Resume Next på allt?

Postades av 2005-09-20 20:13:00 - Thomas Roman

Det där fungerade perfekt!
Jag håller på att skriva om hela programmet i .NET så därför nöjer jag mig med en sån här tillfällig lösning i VB6-versionen.


Thomas


Svara

Sv:On Error Resume Next på allt?

Postades av 2005-09-20 22:51:09 - Per Hultqvist

Det är inte vad jag skulle kalla en global felhanterare eftersom den bara klarar av fel som inträffar direkt "under" denna metod. Varje event i t ex ett formulär (form_load,button_click,...) startar en egen call stack som måste hanteras separat. Ta följande kodexempel :
Sub Main : Sätt denna som startup-metod
<code>
Option Explicit

Public Sub main()
On Error GoTo hell

FailingMethod

Dim f As Form1
Set f = New Form1
f.Show vbModal
Unload f
Set f = Nothing

Exit Sub
hell:
MsgBox "Ett fel uppstod : " & Err.Description
Resume Next
End Sub

Private Sub FailingMethod
Err.Raise 13 ' Detta fel kommer att fångas
End Sub
</code>
Formulär Form1
<code>
Private Sub Command1_Click()
Err.Raise 13 ' Detta fel fångas ej!
End Sub

Private Sub Form_Load()
Err.Raise 13 ' Detta fel fångas ej!
End Sub
</code>
Inget av ovanstående fejkade fel kommer att fångas av den "globala" felhanteraren. Lösningen blir alltså att lägga en "on error goto" i VARJE eventprocedur också utöver startproceduren och då är den inte så global längre...


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 722
27 958
271 751
400
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