Soluciones ejercicio Excepciones

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());
 }