Esercizio WebCAT: Ex9 - Exceptions
Esercizio WebCAT: Ex9 - Exceptions
Si crei la classe ArrayRangeException in modo che estenda la classe base std::out_of_range. La classe deve riportare errori relativi a richieste di andare fuori dai limiti di un array. Il costruttore della classe deve accettare 4 argomenti nell'ordine:
- std::string con messaggio di errore. Questo messaggio deve essere usato nel costruttore della classe base.
- int per indicare il valore minimo accettabile dall'array
- int per indicare il valore massimo accettabile dall'array
- int per indicare qaul'è il valore errato richiesto nell'accesso all'array
- La classe deve fornire anche i metodi getMaxRange(), getMinRange() e getWrongRange() che riportano questi valori.
- Si implementi la classe TransparencyMask, considerando i metodi setMaskValue e getMaxValue. In particolare:
- getMaxValue lancia un'eccezione di tipo ArrayRangeException se le coordinate richieste sono oltre le dimensioni di larghezza o altezza dell'oggetto
- setMaxValue lancia un'eccezione di tipo ArrayRangeException se le coordinate richieste sono oltre le dimensioni di larghezza o altezza dell'oggetto, e lancia un'eccezione di tipo std::invalid_argument se il suo terzo parametro (int) ha valori minori di zero o maggiori di 255
- Nel caso setMaxValue venga invocato con coordinate sbagliate ed anche con valore sbagliato la prima eccezione che deve essere lanciata è std::invalid_argument
- Quando finito creare un file .zip contenente tutti i file .h e .cpp e tutti i file TestXXX.h forniti nel materiale dell'esercizio e caricare il file su Web-CAT.
- Correggere l'implementazione finché non vengono passati tutti i test riportati in "Results From Running Your Tests" (il cui codice è compreso in TestXXX.h) ed i test aggiuntivi riportati in "Estimate of Problem Coverage"
Per scaricare il file, fai click su questo link: WEBCAT-Ex9-Exception.zip