Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    eccezione che si propaga

    In una classe ho un metodo principale che chiama un altro metodo nel quale si potrebbe avere un'eccezione

    2 esempi

    codice:
    public void secondoMetodo() throws IOException{
      ...codice
    }
    
    public void principale(){
      try{
        secondoMetodo()
      } catch...
    }


    codice:
    public void secondoMetodo() throws IOException{
      try{
       ...codice
      } catch(IOException miaExc){
           throw miaExc;
       }
    }
    
    public void principale(){
      try{
        secondoMetodo()
      } catch...
    }

    usere il secondo codice solo se, nel caso di eccezione, fosse necessario fare qualcosa nel metodo secondoMetodo() altrimenti userei il primo

    è giusta come impostazione?
    so che è una banalità ma tanto per capire

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    scusa, io la vedo un po' arzigogolata come cosa: il secondo metodo potrebbe lanciare un'eccezione X di un tipo diverso da MiaEccezione (altrimenti di che stiamo parlando?) e tu vorresti "rinominare" (passami il termine, ma altro non stai facendo) quella eccezione X in "MiaEccezione". A che pro?

    Se vuoi creare un metodo che lanci una qualche eccezione di tipo tuo personalizzato e non già esistente allora probabilmente quel metodo avrà delle strutture di controllo (if - else) e al verificarsi o non verificarsi di una certa condizione si avrà il sollevarsi dell'eccezione. Altrimenti li eventuali altre eccezioni le gestisci nel motodo, altrimenti ancora evita di rinominare eccezioni esistenti e lascia che vengano sollevate direttamente quelle.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    No scusa, ho sbagliato, per MiaEccezione intendo un'eccezione in generale (non una creata da me), se vuoi mettiamo una IOException

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: eccezione che si propaga

    Originariamente inviato da MyBloodyV.
    codice:
    public void secondoMetodo() throws IOException{
      try{
       ...codice
      } catch(IOException miaExc){
           throw miaExc;
       }
    }
    Quel catch con il "rilancio" della eccezione ha senso solo se devi fare qualcosa di altro nel catch (es. logging, chiusura di qualcosa). Altrimenti sarebbe concettualmente (e anche tecnicamente) inutile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: eccezione che si propaga

    Originariamente inviato da andbin
    Quel catch con il "rilancio" della eccezione ha senso solo se devi fare qualcosa di altro nel catch (es. logging, chiusura di qualcosa). Altrimenti sarebbe concettualmente (e anche tecnicamente) inutile.
    ok, come avevo appunto chiesto.
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.