Path: csiph.com!aioe.org!.POSTED!not-for-mail From: "Dr.UgoGagliardelli" Newsgroups: it.comp.java Subject: Re: gestione eccezioni Date: Thu, 27 Oct 2016 20:34:25 +0200 Organization: Aioe.org NNTP Server Lines: 61 Message-ID: References: NNTP-Posting-Host: FAOOZUC44hWnDCe3hUYsZQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com it.comp.java:8987 Il 27.10.2016 19.17, Filippo ha scritto: > Alla ricerca del codice da correggere mi sono imbattuto in questa parte > in cui dovrebbe verificare se si è in presenza di un tablet o no > attraverso le istruzioni try/catch: > > public static boolean isTablet() > { > boolean bol1 = false; > try > { > System.currentTimeMillis(); L'istruzione precedente e' inutile poiche' il valore ritornato da currentTimeMillis() no viene assenato ad alcuna variabile. > String str = Tablet.GetDeviceID(); > System.currentTimeMillis(); Idem come sopra > if (str != null) > { > boolean bol2 = str.equalsIgnoreCase(""); > if (!bol2) {} lavariabile bol2 viene persa, quindi if (str != null) e' inutile. > } > else > { > bol1 = true; > } > return bol1; L' if dice: se str non e' null non fa niente quindi ritorna false, valore iniziale di bol1, altrimenti ritorna true. In caso di eccezione return bol1; non viene eseguito quindi ritorna false. > } > catch (Exception localException) > { > localException.printStackTrace(); > } > return false; > } > > Qualcuno potrebbe spiegarmi che operazioni fa? > Cosa fa se str! è null? Niente, quindi ritorna false, valore iniziale di bol1. > E che c'entra currenttimemillis con getdeviceid? Niente. Se volevi sapere se questo metodo l'ha scritto uno poco pratico, per usare un eufemismo, ebbene si'. E probabilmente ha anche poco senso, ma non conoscendo il contesto non ne ho la certezza, ad esempio Tablet.GetDeviceID() e' un metodo statico ovvero un metodo di classe della classe Tablet o Tablet e' l'istanza di qualcosa?. Il metodo poteva essere scritto piu' semplicemente ed equivalentemente: public static boolean isTablet() { try { return Tablet.GetDeviceID() == null; } catch (Exception localException) { localException.printStackTrace(); } return false; }