Pourquoi “throws Exception” nécessaire lors de l'appel d'une fonction?

class throwseg1
{
    void show() throws Exception
    {
        throw new Exception("my.own.Exception");
    }

    void show2() throws Exception  //Why throws is necessary here ?
    {
        show();
    }

    void show3() throws Exception  //Why throws is necessary here ?
    {
        show2();
    }

    public static void main(String s[]) throws Exception  //Why throws is necessary here ?
    {
        throwseg1 o1 = new throwseg1();
        o1.show3();
    }
}

Pourquoi le compilateur signale que les méthodes show2(), show3(), et main() ont

non déclarée exception Exception qui doit être pris ou déclarée à être jeté

quand j'enlève throws Exception de ces méthodes?

  • principal peut certainement être déclaré à jeter l'Exception. Si c'est le cas, la JVM va s'arrêter. C'est aussi près de l'ignorant comme le compilateur va permettre.
  • Lorsque la méthode appelée (Methdod1) throws Exception, nous devons définir la méthode d'appel (Method2) avec throws Exception; si nous ne sommes pas remise de cette exception dans la méthode appelante. Le but est de donner des chefs jusqu'à l'appel de la méthode (Method3) de Method2 une Exception peut être levée par Method2 et vous devez gérer ici, sinon il peut interrompre votre programme.
  • De même, si Method3 n'est pas de la manipulation de l'exception dans son corps puis, il avait pour définir throws Exception dans sa définition de la méthode pour donner des chefs sa méthode d'appel. le prolongement de la précédente commentaire
InformationsquelleAutor nr5 | 2012-07-21