Menu
Coddy logo textTech

Lancio di eccezioni

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 42 di 59.

La parola chiave throw in Java ti consente di lanciare esplicitamente un'eccezione. Ecco la struttura di base:

throw new ExceptionType("Error message");

I componenti sono:

  • throw: parola chiave per lanciare un'eccezione
  • new ExceptionType: crea una nuova eccezione (come IllegalArgumentException)
  • "Error message": descrive cosa è andato storto

Vediamolo in azione:

int age = -5;
if (age < 0) {
    throw new IllegalArgumentException("Age cannot be negative");
}

Dopo aver eseguito il codice precedente, il programma genera:

IllegalArgumentException: Age cannot be negative

challenge icon

Sfida

Facile

Crea un metodo denominato validateAge che accetta due argomenti:

  1. Un intero (age) da convalidare
  2. Un booleano (strict) che determina le regole di convalida

Il metodo deve generare eccezioni in base a queste regole:

  • Se age è negativo: genera IllegalArgumentException con il messaggio "Age cannot be negative"
  • Se age è maggiore di 150: genera IllegalArgumentException con il messaggio "Age cannot be greater than 150"
  • Se strict è true e age è 0: genera IllegalArgumentException con il messaggio "Age cannot be zero in strict mode"
  • Se non viene generata alcuna eccezione: restituisce age come stringa

Provalo tu

import java.util.Scanner;

public class Main {
    public static String validateAge(int age, boolean strict) {
        // Scrivi il tuo codice qui
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = Integer.parseInt(scanner.nextLine());
        boolean strict = Boolean.parseBoolean(scanner.nextLine());
        
        try {
            System.out.println(validateAge(age, strict));
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online