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'eccezionenew 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
Sfida
FacileCrea un metodo denominato validateAge che accetta due argomenti:
- Un intero (
age) da convalidare - 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());
}
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online