Far creare un eccezione

di Anonimizzato8544 il
6 risposte
Salve ragazzi sto facendo un programma devo ad un certo punto controllare se la stringa presa da un JTextField e trasformata in un intero è positiva,se così allora posso continuare a fare le mie cose altrimenti devo lanciare un eccezione da far gestire ad una classe contoBancario nello specifico ma non so bene come far lanciare l'eccezione visto che se metto la thows nel nome del metodo il compilatore si arrabbia (credo perchè è un metodo di mouseListener e quindi non possso modificarlo) vi allego il codice
	class clickDeposita implements MouseListener{

			@Override
			public void mouseClicked(MouseEvent e) {
		
			String voice=importo.getText();
			float   a =Float.parseFloat(voice); // trasformato l'importo in numero
			
			if(a>0)// se non è >0 devo far gestire l'eccezione 
			{
			a+=a*100/5;
			scritta3.setText("totale ="+""+a);
			finestra.repaint();
			}
			}

6 Risposte

  • Sei proprio sicuro di avere bisogno di un'eccezione? Io la risolverei con uno stato (magari una proprietà dell'oggetto che gestisce il processo)
  • Sisi sono sicuro visto che lo richiede la traccia ehehheh
  • Ciao,
    puoi creare una classe per la tua eccezione e seguire questo link.
  • Ho provato a fare così ma mi da errore dice di aggiungere una try catch ma quando l'aggiungo altri mille erorri ! xd
    
    if(a<0)
    				   throw new ContoBancario();
    			a+=a*100/5;
    			scritta3.setText("totale ="+""+a);
    
  • Che errori ti dà? E ContoBancario che cos'è? Hai esteso la classe Exception?
    Prova a guardare anche questo esempio.
  • broke31 ha scritto:


    devo ad un certo punto controllare se la stringa presa da un JTextField e trasformata in un intero è positiva,se così allora posso continuare a fare le mie cose altrimenti devo lanciare un eccezione da far gestire ad una classe contoBancario
    Alt! Stop! Fermati un attimo a ragionare.

    Sei in un mouseClicked, non è invocato da te ma dal framework. Quindi quando dici "altrimenti devo lanciare un eccezione da far gestire ad una classe contoBancario" intendi .... far gestire questo dove?

    Non puoi tecnicamente fare uscire una eccezione checked dal mouseClicked (violeresti l'override e ovviamente non compilerebbe). Anche se fosse unchecked, per cui non c'è bisogno di dichiararla, la eccezione finirebbe al framework, che non se ne fa nulla ... (a parte al massimo stamparne lo stack trace).
Devi accedere o registrarti per scrivere nel forum
6 risposte