Alguém me ajude, problema com Exceções

2 respostas
X

Estou fazendo um temporizador onde a cada 3 minutos gostaria que ele tocasse um sinal sonoro. até ai ta td bem!!! o problema é que está aparecendo este erro: C:\Cronometro\Cronometro.java:76: unreported exception java.lang.Exception; must be caught or declared to be thrown.
no objeto que criei para chamar o método que toca o som"obj1.Play();".
gostaria que alguem me desse uma dica onde eu tenho que declarar o throw em minha classe para resolver o problema, se for ec o problema!! segue o código:

package myprojects.cronometro;

import java.awt.<em>;

import java.awt.event.</em>;

import java.util.Timer;

import java.util.TimerTask;

import javax.sound.sampled.AudioInputStream;

import <a href="http://java.io">java.io</a>.<em>;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.</em>;

import java.util.*;

class Cronometro extends Exception{

public void tocaSom()throws Exception{

try{
	AudioInputStream som = AudioSystem.getAudioInputStream(new  File("recycle.wav"));
      // Create the clip
      DataLine.Info info = new DataLine.Info(
      Clip.class, som.getFormat(), ((int)som.getFrameLength()));
      Clip clip = (Clip) AudioSystem.getLine(info);
      clip.open(som);
      clip.start();
}     catch (IOException ae){
      throw new Exception();
  	}

}

public void Play () throws Exception{

Cronometro obj = new Cronometro();
try{
obj.tocaSom();
 } catch (IOException ae){
 	
 	
 	}  

}

public static void main(String[] args) {

System.out.println("Carregando Cronometro...");

    int delay = 1000;   // delay de 1 seg.
    int interval = 1000;  // intervalo de 1 seg.	
        
	Timer timer = new Timer();
	
    timer.scheduleAtFixedRate(new TimerTask() {

    int soma;
    
    
    public void run()   {
   
      	Cronometro obj1= new Cronometro();
    
        
    soma = (soma + 1);
    System.out.println(soma); 
  
    
    if (soma == 180) 
    
    obj1.Play();
     
 }              
 },delay, interval);



}

}

2 Respostas

K

Só cerque a parte que ele toca a media com um try catch que já vai resolver.

B

E para estes casos vc não precisa herdar da classe Exception… basta usar o bloco try catch como Kknd sugeriu…

Criado 21 de outubro de 2006
Ultima resposta 22 de out. de 2006
Respostas 2
Participantes 3