introduzione
È una classe di eccezione standard. Tutti gli oggetti lanciati dai componenti della libreria standard derivano da questa classe. Pertanto, tutte le eccezioni standard possono essere catturate catturando questo tipo per riferimento.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: exception.
class exception;
Esempio
Nell'esempio seguente per std :: exception.
#include <thread>
#include <vector>
#include <iostream>
#include <atomic>
std::atomic_flag lock = ATOMIC_FLAG_INIT;
void f(int n) {
for (int cnt = 0; cnt < 100; ++cnt) {
while (lock.test_and_set(std::memory_order_acquire))
;
std::cout << "Output from thread " << n << '\n';
lock.clear(std::memory_order_release);
}
}
int main() {
std::vector<std::thread> v;
for (int n = 0; n < 10; ++n) {
v.emplace_back(f, n);
}
for (auto& t : v) {
t.join();
}
}
Tipi derivati
Sr.No. |
Tipi derivati |
Definizione |
1 |
bad_alloc |
Eccezione generata in caso di errore nell'allocazione della memoria |
2 |
bad_cast |
Eccezione generata in caso di errore nel cast dinamico |
3 |
bad_exception |
Questa è un'eccezione generata da un gestore imprevisto |
4 |
bad_function_call |
Questa eccezione è stata generata in caso di cattiva chiamata |
5 |
bad_typeid |
Questa eccezione generata su typeid del puntatore null |
6 |
bad_weak_ptr |
È un cattivo puntatore debole |
7 |
ios_base :: fallimento |
È una classe base per le eccezioni di flusso |
8 |
errore_logico |
È un'eccezione di errore logico |
9 |
runtime_error |
È un'eccezione di errore di runtime |
Tipi derivati (tramite logic_error)
Tipi derivati (tramite runtime_error)
Tipi derivati (tramite bad_alloc)
Sr.No. |
Tipi derivati |
Definizione |
1 |
bad_array_new_length |
È un'eccezione sulla lunghezza dell'array errata |
Tipi derivati (tramite system_error, da C ++ 11)
Funzioni dei membri
Sr.No. |
Tipi derivati |
Definizione |
1 |
(costruttore) |
È un'eccezione del costruttore |
2 |
operatore = |
È un'eccezione di copia |
3 |
che cosa |
Viene utilizzato per ottenere l'eccezione di identificazione della stringa |
4 |
(distruttore) |
È un'eccezione distruttiva |