Baracus: Error Objekt

Morgen an alle,

ich habe eine Seite, in der man durch Datensätze durchblättern kann. Wenn man z.B. beim letzten Datensatz auf "nächster" Klickt, dann kommt ein Felhler (Ist ja auch klar). Ich habe versucht mit dem Error Objekt diesen fehler abzufangen, dies funktioniert aber nicht. Weiß jemmand warum.
Hier ein auszug aus meinem Script:

If (Err<>0) Then
Response.Write"<b>Sie sind am Ende des Recordsets</a>"
Else sql="Select ....."
End If

On Error GoTo 0

  1. Halihallo Baracus

    ich habe eine Seite, in der man durch Datensätze durchblättern kann. Wenn man z.B. beim letzten Datensatz auf "nächster" Klickt, dann kommt ein Felhler (Ist ja auch klar). Ich habe versucht mit dem Error Objekt diesen fehler abzufangen, dies funktioniert aber nicht. Weiß jemmand warum.

    Meine Güte, mach es nicht komplizierter als es ist. Zum Fehler muss
    es gar nicht kommen, wenn man wie folgt programmiert:

    DO UNTIL rs.EOF
      ' do something with rs
      rs.MoveNext
    LOOP

    Ich möchte noch darauf hinweisen, dass Err ein _Objekt_ ist und keine
    Zahl.

    Viele Grüsse

    Philipp

    --
    Debugging is at least twice as hard as writing the program in the first place.
    So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.
    1. Hallo Philipp,

      ich weiß, dass es auch einfacher geht. Ich brauche es aber nunmal so wie ich geschrieben haben. Noch ne Idee?

      Ich möchte noch darauf hinweisen, dass Err ein _Objekt_ ist und

      Hier ist allerdings ja auch Err.Number gemeint.

      1. Halihallo Baracus

        ich weiß, dass es auch einfacher geht. Ich brauche es aber nunmal so wie ich geschrieben haben. Noch ne Idee?

        So, so... Nenn mir einen guten Grund dafür. Na, egal:

        On Error Goto 0

        muss _vor_ dem fehlerverursachenden Code stehen, bei dir steht er
        danach.

        BTW: Wäre "On Error Resume Next" nicht lesbarer?

        Viele Grüsse

        Philipp

        --
        Debugging is at least twice as hard as writing the program in the first place.
        So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.
        1. Also ich glaube ich muss das etwas besser erläutern. Auf meiner Seite gibt es mehrere Submit Buttons (nächster,vorheriger, letzter, erster,neu,löschen,änder...). Je nachdem welcher geklickt wird, gibt es per select case ein anderes sql-Statement.
          Jetzt habe ich eimal vor meine select case abfrage und einmal beim öffnen des Recordsets probiert mit On Error Resume next den vorher genannten Fehler abzufange, aber es funzt nicht.

          1. Ok jetzt hats gefunzt. Hab das On Error nich vor den Fehler gesetzt. Also Danke für deine Hilfe.

            1. Halihallo Baracus

              Ok jetzt hats gefunzt. Hab das On Error nich vor den Fehler gesetzt. Also Danke für deine Hilfe.

              Aber gerne. Aber den Sinn hinter dieser unnötigen Fehlerbehandlung
              sehe ich noch immer nicht ein und ich kann mir keinen Grund
              vorstellen, der mich vom Gegenteil überzeugen sollte. Also warum?
              Ist es denn so schwierig auf rs.EOF zu testen? - Denn _dies_ ist die
              richtige Vorgehensweise, alles andere ist unnötiger Overhead und
              kompliziert die Lesbarkeit des Codes (und erhöht somit den
              Wartungsaufwand).

              Viele Grüsse

              Philipp

              --
              Debugging is at least twice as hard as writing the program in the first place.
              So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.
              1. Hallo Philipp,

                ich mache das, weil ich grundsätzlich einen Fehler erhalten habe, wenn ich mit rs gearbeitet habe, z.b. bei update oder so. Deshalb versuche ich alles was geht mit sql zu lösen und habe deshalb das error objekt gebraucht. Ich weiß nicht ob die Fehler an meinem Server liegen, oder vielleicht doch an mir :) . Naja seis drum, das Problem ist gelöst.