Lanciare e catturare eccezioni Java

Oggetti Java generare eccezioni in modo leggermente diverso da quello ColdFusion fa. Java le eccezioni sono gestite come segue:

 # exception.toString () # 
  

GetException () recupera l'eccezione più recente che si è verificata per myObject. Exception.toString () riceve un messaggio che è possibile visualizzare per l'utente. Cfscript contiene anche una limitata capacità di svolgere la gestione delle eccezioni. Invece di utilizzare CFTRY e CFCATCH, si può usare il cercare di prendere le parole chiave in un blocco cfscript, come segue:

 try (oExcel = CreateObject ( "COM", "Excel.Application");) catch (Eventuali eccezioni) (WriteOutput ( "Errore durante l'istanziazione di un oggetto COM. com ha restituito il seguente messaggio di errore: # # exception.Message); ) 

Se Excel non è installato sul server ColdFusion che esegue l'esempio precedente, CreateObject () lancerà un errore che sarà poi catturato dal blocco catch. Notare la differenza tra la sintassi CFCATCH e la sintassi di cattura. All'interno cfscript, si specifica la parola chiave di cattura, seguita dal tipo di eccezione, seguito dal nome dell'oggetto eccezione. L'oggetto eccezione è l'equivalente della struttura CFCATCH si è utilizzato in precedenza in questo articolo. Sfortunatamente, la manipolazione cfscript's eccezione è limitata perché non vi è alcun modo per lanciare un errore personalizzato, e non vi è alcun modo per rigenerare un errore una volta che hai preso la . CFTRY e CFCATCH sono utili per gli errori specifici che si verificano in parte mirati di codice. È possibile, tuttavia, anche di cattura ogni errore che si verifica nella vostra applicazione e di passare il controllo a una pagina generalizzata gestore di errore utilizzando il tag CFERROR. CFERROR è di solito collocato all'interno Application.cfm. Una chiamata tipica è la seguente:

Che l'invito a CFERROR ColdFusion dice che, se ogni eccezione non identificata di qualsiasi tipo si verifica nella vostra applicazione, dovrebbe reindirizzare l'utente a error.cfm. Questo è simile a un tipo di CFCATCH = "Tutti" che reindirizza l'utente a una pagina di errore, ma CFERROR copre tutto il codice nella vostra applicazione e non solo un singolo blocco di destinazione. Questo approccio ha i suoi vantaggi, perché ora è possibile consentire a un utente - pagina di errore per l'utente, indipendentemente dal luogo in cui l'errore potrebbe essersi verificato. Lo svantaggio di utilizzare CFERROR di per sé, è che la diagnosi l'errore è molto più difficile, perché non è possibile individuare il percorso con la stessa facilità. La cosa migliore è quella di utilizzare CFTRY e CFERROR insieme, mettendo CFTRY in aree specifiche del codice e quindi basandosi su CFERROR per gli errori imprevisti che non possono essere trattati come eccezioni. CFERROR ogni volta che incontra un errore, passa di esecuzione della pagina per il modello di cui l'attributo Template. La pagina di errore ha accesso alle informazioni sull'errore come pure tutti i contenuti generati fino al punto che l'errore si è verificato. Una buona idea è quella di utilizzare l'errore modello di e-mail all'amministratore del sito, l'invio di lui tutte le informazioni di errore, e poi per l'output di un messaggio di errore di user-friendly che si integra con il trattamento regolare grafica per il sito. Il codice mostra una pagina ben scritta di errore.

 È verificato un errore durante l'elaborazione del modello # Error.TagContext [1]. Template # alla linea # Error.TagContext [1]. Line #. Le informazioni di diagnostica è qui di seguito: Tipo di errore: # # Error.RootCause.Type Referer: # # Error.HTTPReferer messaggio di errore: # # Error.RootCause.Message Dettaglio errore: # # Error.Rootcause.Detail  È verificato un errore durante la vostra richiesta. Please try again.

L'esempio CFERROR che vi mostriamo all'inizio di questa parte ha un attributo eccezione. Attributo CFERROR's eccezione è simile a CFCATCH's type: Si dice ColdFusion, che tipo di eccezione riguarda il tag CFERROR. Supponiamo, per esempio, di avere i seguenti inviti a CFERROR:


   

ColdFusion registra tutti gli errori che si verificano nella vostra applicazione. È possibile ottenere una storia di tutti gli errori nell'applicazione di visualizzare i file di log e vedere cosa è successo quando. I file di log vengono memorizzati all'interno del cf_root \ logs \ directory. Il file di registro che si dovrebbe essere più interessati è Application.log, che contiene gli errori che si verificano nella vostra applicazione. Si può tracciare un errore guardare il file di log e di trovare il record. Anche gli errori che sono catturati con CFCATCH o CFERROR sono memorizzati in Application.log, in modo da poter vedere esattamente quello che è successo, anche se CFCATCH oscura l'errore. Si può anche scrivere i propri messaggi ai file di registro utilizzando CFLog come segue:

Che scrive un messaggio in un file denominato myLog.Log all'interno del cf_root \ logs \ directory. Questo può essere molto utile per alcune situazioni problematiche in cui si desidera registrare un errore specifico. Non tutti i log di errore che si verifica perché così facendo inutilmente gli oneri del server. ColdFusion offre una vasta gamma di tecniche di gestione delle eccezioni, da CFTRY e CFCATCH al sito onnicomprensiva-gestore di errore a livello. Ogni tecnica può essere potente di per sé, ma solo quando questi tre sono intelligentemente integrata fare a raggiungere il pieno potenziale del quadro ColdFusion di gestione delle eccezioni. In questo articolo si impara a conoscere i diversi modi di utilizzare ColdFusion eccezione di gestione quadro e come i diversi pezzi da lavorare assieme. Si conosceranno anche i molti tipi di errori che possono essere lanciate e catturati con CFCATCH e CFERROR, e ancora di imparare a creare i tipi di errore personalizzati che è possibile utilizzare per i propri scopi.

un articolo presentato da Aris Buttler


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "Lanciare e catturare eccezioni Java" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 256 users browsing the articles directory