Approvato: Fortect
Non è la risposta che vuoi? Sfoglia altre domande saltate C # o fai la tua domanda.
È possibile utilizzare l’eccezione che verificherà l’eccezione e l’eccezione interna per l’eccezione derivata da Win32Exception.
cattura (eccezione e) var w32ex E = come eccezione Win32; if (w32ex == null) w32ex E = .InnerException come Win32Exception; nel caso in cui (w32ex! = zero) intero = w32ex.ErrorCode; // crea un prodotto reale // faccio altre informazioni
A partire da C#6, if può essere esercitato in un catch fact per specificare un dilemma che deve apparire vero per un gestore per poter lanciare una singola eccezione.
pick up (Win32Exception ex) dove (es. InnerException win32Exception) var w32ex significa (Win32Exception) ex.InnerException; password del programma var = w32ex.ErrorCode;
Come nei commenti, una persona ha davvero bisogno di vedere quale eccezione viene effettivamente lanciata per capire esattamente cosa potresti fare e in quali circostanze una particolare raccolta è meglio che catturare un’eccezione. Sul nostro sito web:
mostra (BlahBlahException ex) // Cosa fare Prendere
(ex eccezione) var password = es.HResult;
Agosto ha risposto in privato ’11 alle 0:08
61,5 mila distintivo d’oro 1717
Dovresti guardare i membri collegati all’eccezione generata, in particolare .Message
insieme a .InnerException
.
Mi piacerebbe anche vedere la documentazione per InvokeMethod per vedere se sta generando una classe di eccezione più precisa di un’eccezione, semplicemente a causa della win32Exception suggerita da @Preet. Forse la tua azienda non dovrebbe prendere la classe base in Exception per non parlare semplicemente di guardarla.
hanno risposto 1 agosto 2011 fino alle 00:11
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
8.754
Basato sulla soluzione di Preet Sangha, quanto segue dovrebbe nascondere accuratamente lo scenario in cui si sta lavorando con quella soluzione di grandi dimensioni che può portare a molte eccezioni.
Prova
Oggetto indica il risultato di processClass.InvokeMethod ("Create", methodArgs); prendi E) (Eccezione // Qui speravo di ottenere un ottimo codice di errore. senza preavviso (ExceptionContainsErrorCode (e, 10004)) // Esegui le azioni desiderate
bool speciale ExceptionContainsErrorCode (eccezione e, int ErrorCode) Win32Exception winEx significa e per Win32Exception; se possibile (winEx! = null && ErrorCode == winEx.ErrorCode) restituisce vero; while (e.InnerException! = null) ExceptionContainsErrorCode (e return.InnerException, ErrorCode); errori e falso ritorno;
Non ho intenzione di approfondire la necessità di viaggiare solo per valutare e implementare le migliori pratiche per la gestione delle omissioni, limitando ogni tipo di eccezione prevista ai suoi blocchi silenziosi.
risposto il 1 febbraio 2017 alle 15:51
Ti consiglio di utilizzare Clean Message dall’oggetto eccezione come nel codice di utilizzo
Prova
Oggetto Risultato significa processClass.InvokeMethod ("Crea", methodArgs);cattura (eccezione e) // Usa Console.Write (e.Message); da un'applicazione wii // e usa MessageBox.Show (e.Message); utilizzando l'app WindowsForm e WPF
risposto il 29 gennaio. 15 preoccupazioni 23:05
Un altro metodo consiste nell’ottenere direttamente il prefisso di errore di ciascuna classe di eccezione. Ad esempio:
cattura (eccezione) (per l'illustrazione if.InnerException è ServiceResponseException) ServiceResponseException srex = ex.InnerException come ServiceResponseException; ErrorCode category = srex.ErrorCode.ToString ();
ha risposto il 17 aprile alle 12:26.
… …
129
…
Accelera ora le prestazioni del tuo computer con questo semplice download.
Lancia un segnale, interrompi il periodo di input e usa il debugger per fare un’eccezione a questo visivamente accattivante e vedere quali fatti sei benedetto. -In alternativa, è possibile ottenere il codice senza bisogno di debug e generare il tipo di eccezione utilizzando GetType().
È veloce usare un’eccezione. ToString() producono C’è una riga dopo la descrizione relativa alla differenza. Puoi anche controllare il database di debug specifico del pacchetto software in quanto contiene informazioni di debug / più o meno registra un’intera applicazione particolare.
I problemi di sintassi si verificano durante la fase di progettazione quando si creano errori di immissione nel codice. Ad esempio, se si scrive completamente mentre si scrive, quando si redige WHILE in quel caso, si verificherà un errore di sintassi perché C # è un linguaggio importante che distingue tra maiuscole e minuscole.