Creo una clase nueva:
public class ExceptionMarcaIncorrecta extends Exception{
public ExceptionMarcaIncorrecta() {
// TODO Auto-generated constructor stub
}
public ExceptionMarcaIncorrecta(String mensaje) {
super(mensaje);
}
}
Añado esa excepción en setMarcas:
public void setMarca(String marca) throws ExceptionMarcaIncorrecta {
for (String m : VALID_BRANDS) {
if (marca.equals(m)) {
this.marca = marca;
return;
}
}
throw new ExceptionMarcaIncorrecta("Marca incorrecta");
}
Modifico los constructores para que sean específicos:
public Television(String marca, int volumen, String proveedor) throws ExceptionMarcaIncorrecta {
setMarca(marca);
setVolume(volumen);
setProveedor(proveedor);
}
public Television(String proveedor) throws ExceptionMarcaIncorrecta {
this("LG", 6, proveedor);
}
Ahora puedo usarla en la prueba:
try {
Television tv1 = new Television("ww", 4, "Miro");
tv1.setVolume(-5);
tv1.setMarca("Sony");
tv1.setModelo("weweew");
System.out.println(tv1);
} catch (ExceptionMarcaIncorrecta e) {
System.out.println(e.getMessage());
}
catch (Exception e) {
System.out.println(e.getMessage());
}