Newsgroup: it.comp.www.asp
Titolo: Sapere in che riga si trova ora

Ciao all!
Mi sarebbe utile sapere in che riga si trova il server che sta' eeguendo la
mia pagina ASP
Nel senso voglio fare un codice che sappia sempre in che riga si trova in
quel momento tipo:
01 Ciao mamma!
02 <%
03 Dim s=
04 s=request_per_sapere_in_che_riga_sono
05 Response.write "questa e' la riga n.:" & s+1
In pratica mi serve sapere in che riga mi trovo durante l'esecusione dello
script
Ciao! ;^)=
--
RedFoxy
A fox around web
Power at fox for a yiffing world!
La legge del marketing:
Non migliorare il prodotto, cerca un cliente piu' scemo.

Sembrerebbe di no.
Ho provato con questo codice (lancia un errore e vede a che riga si
riferisce)
<%
On Error Resume Next
Err.Raise 12345
response.write "<p>Errore #" & Err.Number & "; Descrizione: " &
Err.Description & "; Fonte: " & err.source & "</p>"
response.write "<p>Errore #" & Err.Number & "; Descrizione: " &
Err.Description & "; Fonte: " & err.source & "Linea #" & err.line & "</p>"
Err.Clear
%>
La proprietą "line" esiste solo in VB (MSScript) e non in VBScript
-- 
___________________________________________________________
a p bertolini
(
www.webwarrior.org
)

 La proprietą "line" esiste solo in VB (MSScript) e non in VBScript
Non ho capito, in che senso la proprieta' "line" esiste sono in VB ma non in
VBS? Asp sostanzialmente e' praticamente VBS, ma si puo' recupoerare la
riga, almeno nel caso di generazione di un errore...
In ogni caso l'unico modo per poter sapere in che riga si genera un errore,
obbligatoriamente ci deve essere un errore da cui estrapolare l'errore
stesso?
Grazie e ciao! ;^)=


Se trovi il modo di rilevare programmaticamente la riga dell'errore, allora
sei a cavallo. Generi un errore a caso e poi lo rilevi subito.
Io non lo trovo a livello di documentazione e provando ho un errore di
codice.
Nella tua ipotesi di script:
04 s=request_per_sapere_in_che_riga_sono
05 Response.write "questa e' la riga n.:" & s+1
avresti:
04 genera un errore fantomatico
05 Response.write "questa e' la riga n.:" & (err.line+1)
Ma analizziamo il problema da un altro lato: a cosa ti serve tutto ciò? Se
ci spieghi, magari suggeriamo una via alternativa!
Alex.


 ciň? Se ci spieghi, magari suggeriamo una via alternativa!
In pratiuca sto' facendo una gestione particolare e molto approfondita degli
eventuali errori (non per forza di sistema) che possono venire a generarsi,
il tutto poi genera un codice di errore di tipo 0x00000000 indicandomi la
sezione, la pagina, il tipo di errore e in certi  casi la riga dell'errore.
Sapere la riga mi serve per sapere dove si sono generati eventuali errori
(gravi e non) con una certa precisione, inoltre il tutto mi serve anche come
debug dello script e del sito stesso...
Visto che sto' facendo routine e sotto-routine che mi permettono di fare le
varie operazioni in modo sicuro (tipo il read ed il write sul DB viene
gestito da delle funzioni, non direttamente dalla pagina, facendo si che si
possa controllare e gestire l'errore in modo univoco etc...)
In pratica il codice di errore, opportumanete letto, indica tutte le
casualita' che si possono generare, dando un'occhiata darpida al codice di
errore stesso si puo' subito risalire al tipo di errore ed eventualmente a
dove si e' generato e perche'.
Non so' se mi spiego :)
Un esempio pratico dal mio "manuale" per l'utilizzo di questo sistema:
error_code_page - 0x00000000 (HEX)
Questo codice di errore restituisce la sezione dove si e' generato l'errore
ed il tipo
0x00000000 (HEX)
| |_/||__/
| |  |+------ (7-10) Specifica dell'errore (specifico per ogni pagina)
| |  +------- (6) Tipologia errore
| +---------- (3-5) Sezione/Pagina che ha generato l'errore
+------------ (1) Importanza errore
Un esempio di tipologia dell'errore e':
Tipologia errore: (1 byte)
1= Record gia' presente
2= Errore ADO lettura
3= Errore ADO scrittura
4= Valore fondamentale mancante
5= RecordSET vuoto
6= Errore connessione SQL
7= Condizioni integrita' dati non rispettata
Mentre di sezione:
Sezione/Pagina che ha generato l'errore: (3 byte)
0xx= File Include PATH=/varie
 01= varie.asp
 02= altra_pag.asp
 03= sistema.asp
 04= gestione.asp
Poi a seconda il tipo di errore, gli ultimi 4 byte assumono valori diversi,
tipo qual'e' la variabile che ha generato l'errore, la riga dell'errore,
etc...
In ogni caso questo sistema lo sto' rendendo modulare e con il minimo
richiesto di intrusione nella pagina che deve essere monitorata...
Il sistema di generare un errore fittizio per sapere la riga, implicherebba
almeno 3 righe + la riga di generazione del codice di errore, rendendo piu'
"complesso" il sistema di gestione dell'errore:
On Error Resume Next
Err.Raise 12345
Generacodicedierrore importanza, pagina, sezione, err.line
On Error GoTo 0
spero di esser stato chiaro ;)
Ciao! ;^)=



Contro risposta...
Purtroppo il Line lo si puo' avere solo tramite l'oggetto ASPError che
prende l'errore della pagina precedente e non della corrente :|
Err non ha Line
Se hai altre idee fammi un fischio



Grazie.
Lo farò... ma a 'sto punto dubito che vi siano soluzioni. La tua idea,
d'altra parte, è molto buona poiché permetterebbe di tenere una sorta di
"registro eventi" per le proprie applicazioni ASP
