Categories: Java

Thread ed Eccezioni Personalizzate in Java

Dopo aver studiato la sintassi per derivare le classi, siamo ora in grado di spiegare come creare degli oggetti personalizzati per la gestione delle eccezioni che abbiamo spiegato in una lezione precedente. Parleremo anche dei thread, cosa sono è stato spiegato in questo articolo, qui vedremo come si programmano in Java.
Riprendiamo il discorso dell’eccezione lanciata dal sistema quando tentiamo di dividere un numero per zero, avevamo visto come intercettare l’errore e scrivere un nostro messaggio all’utente. In questa lezione ci preoccuperemo di creare una classe, derivata da Exception delle librerie Java, che venga lanciata non appena si presenti una divisione per zero.

// file Main.java

package corso;

class CDivisionePerZero extends Exception
{
    void Informazioni()
    {
          System.out.println("Si è verificata un'eccezione
           dovuta ad una divisione per zero!");
    }
}

public class Main
{
   public static int Divisione(int iDividendo, int iDivisore)
        throws CDivisionePerZero
   {
        if (iDivisore == 0)
           throw new CDivisionePerZero();
        else
           return iDividendo / iDivisore;
   }

   public static void main(String[] args)
   {
        int a = 18, b = 0;

        try
        {
             a = Divisione(a, b);
        }
        catch (CDivisionePerZero e)
        {
             e.Informazioni();
                 return;
        }

        System.out.println("Il risultato della divisione
                è " + a);
     }
}

Abbiamo creato una classe da quella predefinita per la gestione delle eccezioni in Java, poi abbiamo avvertito la funzione Divisione della possibile eccezione CDivisionePerZero quindi abbiamo creato una nuova eccezione di questo tipo con new, lanciandola con la parola chiave throw.
Ognuno di noi ha spesso sentito parlare di processi e thread, che esistono sia in ambiente Windows che Linux. In questa lezione del corso impareremo a gestire i thread da codice, quindi avremo la possibilità di effettuare più elaborazioni contemporaneamente. La classe Java che permette di gestire i thread si chiama per l’appunto Thread ed è presente nel JDK ( Java Development Kit ), si deduce quindi che Java sia nativamente pensato per la gestione dei thread ed il programmatore non deve fare altro che servirsi delle classi preconfezionate che gli vengono offerte. Un programma che fa uso del multithreading avrà almeno una classe che rappresenta il thread; all’interno di essa è necessario definire un particolare metodo, denominato run(), che contiene le operazioni da effettuare. Vediamo di capire come funziona attraverso questo esempio:

// file Main.java

package corso;

class CEsempioThread extends Thread
{
 private boolean m_bFirst;

    CEsempioThread(boolean bFirst)
    {
          m_bFirst = bFirst;
    }

     public void run()
     {
         for (int i = 1; i < 1000; i++)
         {
              if (m_bFirst)
                   System.out.println("Il valore letto
                          nel primo thread è " + i);
             else
                   System.out.println("Il valore letto
                          nel secondo thread è " + i);
        }
   }
}

public class Main
{
    public static void main(String[] args)
    {
       CEsempioThread t1 = new CEsempioThread(true);
       CEsempioThread t2 = new CEsempioThread(false);

       System.out.println("Faccio partire il primo thread");
       t1.start();
       System.out.println("Faccio partire il secondo thread");
       t2.start();
    }
}

Se notate l’output del programma noterete che l’elaborazione dei dati va da un thread all’altro.

<< Lezione Precedente – Inizio CorsoLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Published by
Giampaolo Rossi

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago