Dan's Brain

Programmazione II


Prof: Cattuto :Computer_Science:

Generici Vincolati

Classe Tree di generici T vincolati a Comparable<T>

Errori e Eccezioni –> Throwable

Error

eccezioni non rimediabili

  • scelta del programmatore

Exception ~ se estesa: controllata

  • Condizioni di errore che pensiamo di poter gestire

Checked

  • Eccezioni controllate
    • origine esterna
    • va previsto un rimedio
  • Sono cosi' comuni che il compilatore pretende che il programmatore gestisca l’eccezione
    • o avverta con la parola chiave throws
  • IOException

    • FileNotFoundException
    • EOFException

      • End Of File

Unchecked

  • Eccezioni non controllate
    • origine interna
    • possiomo prevedere un rimedio oppure no
  • RuntimeException

    • NullPointerException
    • ArithmeticException

      • / 0
    • IllegalArgumentException

      • NumberFormatException

        Integer.parseInt("ciro");
        

Uso

public class TestError{
    public static void m1(){
        throw new Error("mio errore");
    }

    // Esempio eccezione controllata, devo usare throws per compilare
    public static void m2() throws IOException {
        throw new IOException("IO Exception");
    }

    // Esempio di eccezione non controllata, il compilatore non controlla
    public static void m3(){
        throw new RuntimeException("runtime");
    }

    public static void main(String[] args){

        try{
            m1();
            m2();
            m3();
        } catch(Throwable e) { // Upcast alla classe Throwable
            System.out.println("Captured: " + e);
        }

    }
}

Iterable su Intervalli

iterazione su una lista collegata di interi

da un nodo first a un altro last

*

Alberi Binari di Ricerca Binaria

  • Estensione delle classi per permettere vari tipologie di visite
    • preOrder()
    • inOrder()
    • postOrder()
    • livello(int n)
    • livello()
    • leavesAt(int n)

abstract Tree

Leaf

Branch