Erik Posted April 12, 2021 at 09:21 AM Report Share #621946 Posted April 12, 2021 at 09:21 AM Olá, comecei a estudar tratamento de exceções e tenho um pouco de dúvidas ainda. Alguém pode me ajudar? O código é o seguinte, tenho 4 opções, e é para captar um valor de cada tipo. Minha maior dificuldade é em como capturar o case 2. (...) int valor=0; cout << "Introduza um valor de 1 a 4:"; cin >> valor; try{ switch (valor){ case 1: throw 1; break; case 2: throw '2'; break; case 3: throw "3"; break; case 4: throw 4.0; break; default: throw 505; break; } } catch (int valor) { if (valor == 505) cout << "Valor introduzido errado" << endl; else cout << "Exeção de Inteiros\n"; } catch (const char* valor) { } catch (char valor) { } catch (double valor) { } } Link to comment Share on other sites More sharing options...
DarkAngel Posted April 12, 2021 at 09:49 AM Report Share #621949 Posted April 12, 2021 at 09:49 AM Ola! Na minha opiniao, se usas o SWITCH, nao precisas de usar o TRY. No proprio SWITCH já estás a validar se o valor introduzido corresponde ao que pediste 🙂 Link to comment Share on other sites More sharing options...
Erik Posted April 12, 2021 at 09:52 AM Author Report Share #621950 Posted April 12, 2021 at 09:52 AM Mas o Try, é necessário para Tratamento de Exceções. Por isso que coloquei. Link to comment Share on other sites More sharing options...
DarkAngel Posted April 12, 2021 at 10:00 AM Report Share #621952 Posted April 12, 2021 at 10:00 AM 3 minutos atrás, Erik disse: Mas o Try, é necessário para Tratamento de Exceções. Por isso que coloquei. Não é necessario, da mesma maneira que varios IF fazem a mesma função que um SWITCH... Há várias maneiras de fazer a mesma coisa... para tratares dessas excepções, tambem podes usar um IF que faça algo deste genero: if (valor < 1 || valor > 4) { cout << "Valor inválido!"; } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now