in verità l'errore avviene proprio nel punto in cui avviene. é casomai come gestisci le informazioni che ti può portare confusione.
>il try-catch ce l'ho su entrambe le sub ma l'errore dalla sub
>interna viene passato alla cattura della sub più esterna....
>non so come si usa il throw, mi puoi fare un esempio ?
ma se hai il try-catch anche nella sub, come fai a catturare l'errore solo nel chiamante? vuol dire che l'errore avviene nella sub ma fuori dal try-catch, ti torna?
ti faccio comunque un esempio:
protected void Chiamante()
{
...
...
try
{
subFunction("parametro");
} catch (Exception e) {
...
}
}
protected void subFunction(string par)
{
try
{
...
} catch (Exception e) {
//qui gestisco l'errore
Exception MyErr = new Exception("Messaggio che voglio specificare, e);
MyErr.Source = "MyLibrary/MyFunction";
throw MyErr;
}
}
Poi, se vuoi fare le cose ancora più precise,
ti costruisci una tua classe di eccezione, estendendo la classe base Exception, e dentro ci metti tutte le info che vuoi.
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.