Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2004, 21:46   #1
prazision
Senior Member
 
L'Avatar di prazision
 
Iscritto dal: Dec 2003
Messaggi: 458
uso di try&catch in una pagina jsp che esegue una stored procedure

Ho una pagina jsp che svolge questi punti:
1-si connette ad un db oracle
2-svolge una stored procedure senza committare
3-fa un controllo degli errori della procedura(con una select su una tabella relativa agli errori)
4-se è tutto ok fa il commit altrimenti il rollback
5-elimina(in ogni caso) da una tabella temporanea dei dati

Metto qui sotto la pagina per farvi vedere come ho gestito le eccezioni.
La mia richiesta(preghiera):Se qualcuno mi dice se +o- è corretto e in cosa ho sbagliato(non penso ci siano errori ma mi interessa un parere su come ho usato il try&catch).
Ho visto che in jsp si puo' mettere una pagina di errore unica(usando page errorPage = "PaginaErrore.jsp") senza dover gestire le eccezioni nel codice: quando è utile??

grazie mille


esempio.jsp:
Codice:
Connection conn = null;
	
try  //1°try,in modo che se la connessione salta vado subito al catch relativo e chiudo
{	
	conn = DriverManager.getConnection
                  ("jdbc:oracle:ZZZZZZZ");
	try //2°try, relativo alla procedura sql
	{	
			conn.setAutoCommit(false);
			//faccio partire la procedura sql
			String s="begin commit; end;";
			java.sql.Statement stmt2= conn.createStatement();
			stmt2.execute(s); 
			s="begin excel.carica_skillcard('"+idSessione+"',"+ idT +"); end;";
			java.sql.Statement stmt1 = conn.createStatement();
			stmt1.execute(s);
			//Controllo l'esistenza di errori nella procedura con una select da una tabella errori
			//In caso non ci siano errori eseguo il commit			
			if(errori==0)
			{	
				s="begin commit; end;";
				java.sql.Statement stmt221= conn.createStatement();
				stmt221.execute(s); 
			}
			//In caso di errori eseguo il rollback
			else
			{	
				java.sql.Statement stmt3= conn.createStatement();
				stmt3.execute(s); 
			}
	}
			
			//In caso sia accaduto qualche intoppo eseguo comunque un rollback tramite il catche che segue   
	catch(SQLException e2) //catch del 2°try
	{	
			String s2="begin rollback; end;";
			java.sql.Statement stmtX= conn.createStatement();
			stmtX.execute(s2);
			out.println("Si è verificato un errore durante l'esecuzione);
			System.out.println(e2.getMessage());
	}
			
			//elimino da una tabella temporanea dei dati(operazione che devo fare cmq, anche se non è andato a buon fine la procedura, per questo messa in un altro try(il 3*)
	try //3*try
	{
			String sql121 = "DELETE FROM EXL_VENDITA WHERE SESSIONID='"+ idSess+"'";
			java.sql.Statement stmt111 = conn.createStatement();
			java.sql.ResultSet rsX1 = stmt111.executeQuery(sql121);
	}
	catch(SQLException e3)//catch del 3°try
	{				System.out.println(e3.getMessage());
	}
	
}
catch(SQLException e1)//catch del 1°try
{	
	out.println("Si è verificato un errore durante l'esecuzione);
	System.out.println(e1.getMessage());
}
finally//finally del 1°try che chiude cmq le connessioni
{
	//chiusura connessioni
}

Ultima modifica di prazision : 21-07-2004 alle 22:16.
prazision è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2004, 14:24   #2
prazision
Senior Member
 
L'Avatar di prazision
 
Iscritto dal: Dec 2003
Messaggi: 458
forse quello che è compreso nel terzo try andrebbe eseguito in unaltra pagina a cui si arriva con un redirect(visto che è totalmente slegato dal resto) e in questa fare un unico try e catch comprendente anche la connessione.

in tal maniera eviterei di nidificare
prazision è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Osservata esplosione di raggi gamma (GRB...
Sean Duffy (amministratore ad interim de...
Renault lancia la super promo: porte ape...
Il tuo portatile ASUS ROG non funziona c...
Zoom migliora il suo operatore virtuale ...
Traguardo Omoda & Jaecoo in Italia: ...
EHT mostra nuove immagini di come cambia...
Il gioiellino di Fastned: aperti in Belg...
La nuova mini workstation AI di MinisFor...
Formula 1 2026, nuove gare Sprint in cal...
MacBook Pro con display OLED e supporto ...
Poste Italiane: dati di milioni di utent...
Microsoft blocca RaccoonO365, rubate olt...
15 anni dopo Skate 3, il gioco torna sot...
Molte novità per MongoDB: version...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v