Toon posts:

Foutafhandeling in ASP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb iets gemaakt die een externe SQL server aanroept. Nu is deze SQL server vrij vaak niet bereikbaar. In ASP.NET kan dat met try...catch en met ASP met het Error object... wat ik eigenlijk wil is via een ActiveConnection een test uitvoeren als de server bereikbaar is.


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.

Verwijderd

Dit??

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
On error resume next voordat je .Open aanroept en daarna .State uitlezen ;)

[ Voor 45% gewijzigd door RobIII op 13-12-2005 16:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • sopsop
  • Registratie: Januari 2002
  • Nu online

sopsop

[v] [;,,;] [v]

In asp gaat dat i.p.v. met try catch met
code:
1
2
3
4
on error goto errorhandler
 ' je code die fout kan gaan
errorhandler:
 ' je foutafhandeling

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
boppert schreef op dinsdag 13 december 2005 @ 16:23:
In asp gaat dat i.p.v. met try catch met
code:
1
2
3
4
on error goto errorhandler
 ' je code die fout kan gaan
errorhandler:
 ' je foutafhandeling
ASP kent geen On error GOTO, enkel en alleen On Error Resume Next ;)
(En "On Error Goto 0", maar dat is om eventuele "On Error Resume Next" ongedaan te maken)

[ Voor 15% gewijzigd door RobIII op 13-12-2005 16:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17-04 11:22

TeeDee

CQB 241

Dit gebruikten wij altijd:

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Sub MyErrorHandler(oDBConn, sSQL)
  Response.Write "An error has occurred.<BR>"
  Response.write "SQLstate=" & oDBConn.Errors(0).sqlstate & "<BR>"
  Response.write "Description=" & oDBConn.Errors(0).Description  & "<BR>"
  Response.write "NativeError=" & oDBConn.Errors(0).NativeError & "<BR>"
  Response.write "SQL=" & sSQL & "<BR>"
  Response.Write "Please telephone the Web Support Team on tel no xxxx"
  On Error Resume Next
  oDBConn.Close
  Set oDBConn = nothing
  On Error goto 0
  Response.End
End Sub


En:
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim oDBConn, rsTest, sSQL
 Set oDBConn = Server.CreateObject("ADODB.Connection")
 oDBConn.Open ConnString
 
 sSQL = "SELECT Field1, Field2 " &_
        "FROM MyTable "
 
 On error resume next              'catch ODBC/SQL errors in a minute
 Set rsTest = oDBConn.Execute(sSQL)
 On error goto 0                   'error handling back on
 
                                   ' now check for ODBC errors
 IF oDBConn.Errors.Count <> 0 then
     Call MyErrorHandler(oDBConn, sSQL)  ' pass database connection as param
 Else
     '.... process results
     '.... etc
 End If
 
 rsTest.Close
 oDBConn.Close
 Set rsTest = Nothing
 Set oDBConn = Nothing
RobIII schreef op dinsdag 13 december 2005 @ 16:30:
[...]
ASP kent geen On error GOTO, enkel en alleen On Error Resume Next ;)
Weet je dat heeeeel zeker?
RobIII schreef op dinsdag 13 december 2005 @ 16:38:
[...]
Ja hoor ;)
Er is 1 uitzondering, namelijk de "On Error Goto 0", maar dat heb ik net in mijn vorige post ge-edit :P
Daar doelde ik ook op ;), zie mijn code voorbeeld.

[ Voor 45% gewijzigd door TeeDee op 13-12-2005 16:40 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ja hoor ;)
Er is 1 uitzondering, namelijk de "On Error Goto 0", maar dat heb ik net in mijn vorige post ge-edit :P

Ik ben zelf "afkomstig" van VB6 en ben er dus wel eens tegen aan gelopen, vandaar dat ik het weet. Wat heel misschien nog zou kunnen is dat er wel een regelnummer wordt ondersteund in plaats van een label, maar in dat geval is het dusdanig ranzig dat je het zowieso niet wil gebruiken ;)

[ Voor 74% gewijzigd door RobIII op 13-12-2005 16:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1