La gestione delle eccezioni in C ++ è limitata a provare / lanciare / catturare. A differenza di Object Pascal, Java, C # e Python, anche in C ++ 11, il finallycostrutto non è stato implementato. Ho visto un sacco di letteratura C ++ che parlava di "codice sicuro di …
In genere sono d'accordo con la maggior parte degli avvisi di analisi del codice e provo ad aderirli. Tuttavia, sto avendo un momento più difficile con questo: CA1031: Non rilevare i tipi di eccezione generali Capisco la logica di questa regola. Ma, in pratica, se voglio intraprendere la stessa azione …
Mi chiedo se ci sono pro e contro contro questo stile: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name, Resources.Load(string.Format("Materials/{0}", name)) as Material ); } Tale metodo dovrebbe, per ciascuno name, essere eseguito …
Tornati a scuola circa 10 anni fa, ti stavano insegnando a usare gli identificatori di eccezione. Dal momento che il mio background è uno di quei programmatori Torvaldish C che evita ostinatamente il C ++ a meno che non sia costretto a farlo, finisco sporadicamente in C ++ e, quando …
Apprezzo molto le nuove funzionalità di Java 8 su lambdas e le interfacce dei metodi predefiniti. Tuttavia, mi annoio ancora con le eccezioni verificate. Ad esempio, se voglio solo elencare tutti i campi visibili di un oggetto, vorrei semplicemente scrivere questo: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Tuttavia, poiché il getmetodo …
Ecco la sintassi per gli iteratori in Java (sintassi un po 'simile in C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Questo ha senso. Ecco la sintassi equivalente in Python: it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) Pensavo che le eccezioni …
Usiamo SonarQube per analizzare il nostro codice Java e ha questa regola (impostata su critica): I metodi pubblici dovrebbero generare al massimo un'eccezione controllata L'uso delle eccezioni verificate forza i chiamanti del metodo a gestire gli errori, propagandoli o gestendoli. Ciò rende tali eccezioni completamente parte dell'API del metodo. Per …
Molti linguaggi moderni offrono funzionalità avanzate di gestione delle eccezioni , ma il linguaggio di programmazione Swift di Apple non fornisce un meccanismo di gestione delle eccezioni . Forte di eccezioni come me, ho problemi a pensare a cosa significhi. Swift ha asserzioni e, naturalmente, valori di ritorno; ma ho …
So di poter gettare un'eccezione dal costruttore in PHP, ma dovrei farlo? Ad esempio, se il valore di un parametro non è come me l'aspettavo. O dovrei posticipare il lancio di un'eccezione fino a quando non viene invocato un metodo. Quali sono i vantaggi e gli svantaggi in entrambi i …
In realtà ci sto pensando da un po 'di tempo. Non sono un madrelingua inglese, ma ho ancora anni di esperienza di programmazione e me l'ho sempre chiesto. Perché viene chiamato Eccezione ma non Errore poiché sono errori. Potrebbe essere PageNotFoundErrorinvece di PageNotFoundException.
Questa domanda è destinata a qualsiasi linguaggio di programmazione OO che supporti la gestione delle eccezioni; Sto usando C # solo a scopo illustrativo. Le eccezioni sono generalmente intese per essere sollevate quando sorge un problema che il codice non può gestire immediatamente, e quindi per essere catturate in una …
MethodA chiama un MethodB che a sua volta chiama MethodC. Non esiste una gestione delle eccezioni in MethodB o MethodC. Ma c'è una gestione delle eccezioni in MethodA. In MethodC si verifica un'eccezione. Ora, quell'eccezione sta ribollendo fino a MethodA, che la gestisce in modo appropriato. Cosa c'è di sbagliato …
Al fine di gestire diversi possibili errori che non dovrebbero interrompere l'esecuzione, ho una errorvariabile che i clienti possono controllare e utilizzare per generare eccezioni. È un anti-pattern? C'è un modo migliore per gestirlo? Per un esempio di ciò in azione puoi vedere l' API mysqli di PHP . Supponiamo …
In Python, ho spesso sentito che è meglio "chiedere perdono" (rilevazione delle eccezioni) invece di "chiedere l'autorizzazione" (controllo del tipo / condizione). Per quanto riguarda l'applicazione della tipizzazione anatra in Python, è questo try: x = foo.bar except AttributeError: pass else: do(x) meglio o peggio di if hasattr(foo, "bar"): do(foo.bar) …
Ho scritto una struttura che rappresenta le coordinate di latitudine / longitudine. I loro valori vanno da -180 a 180 per le longitudini e da 90 a -90 per le latitudini. Se un utente di quella struttura mi dà un valore al di fuori di tale intervallo, ho 2 opzioni: …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.