manipulação de exceção em C ++ - Parte 4 Introdução Esta é a parte 4 da minha série, Exception em C ++. Você pode ter uma construção try-catch em uma função. Você pode então ir para decidir o tipo de operandos que o bloco try na função pode jogar como exceção. Nesta parte da série, eu mostro a você como preciso do tipo de exceções que uma função pode jogar. Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected].
Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo. Try-catch Construir em uma função Ao longo temos tido construções try-catch na função principal. Você ainda pode tê-lo em alguma outra função. O código a seguir ilustra isso: #include using namespace std; anular a AFN (int aa, double bb) {try {if ((AA10)) aa lance; if ((BB70)) bb lance; //fazer alguma coisa com AA e BB cout cout} catch (int eInt) {cout} catch (double eDbl) {cout}} int main () {AFN (-5, 66,6); retornar 0; } A função tem dois argumentos: o primeiro é um int eo segundo é um duplo (float).
O int deve situar-se entre 0 e 10 e da dupla deve estar entre 50 e 70. Os blocos de cheques tentar isso e joga o identificador de parâmetro correspondente em conformidade. Há um bloco catch para o int e há um bloco catch para o casal. A ênfase aqui é que o bloco try e os dois blocos catch estão em uma função. Não confunda entre a situação aqui eo que vimos na parte 1, onde um bloco try chamado uma função que tinha a instrução throw. Aqui, o bloco try e sua declaração (s) lance e o bloco (s) de captura estão em uma função.
Especificar Excepções à função acima Os operandos para as demonstrações jogar a função acima são do tipo int e double. Você pode precisa que qualquer operando para uma instrução throw no bock tentativa da função deve ser int ou double. O código a seguir ilustra isso: #include using namespace std; anular a AFN (int aa, double bb) throw (int, double) {try {if ((AA10)) aa lance; if ((BB70)) bb lance; //fazer alguma coisa com AA e BB cout cout} catch (int eInt) {cout} catch (double eDbl) {cout}} int main () {AFN (-5, 66,6); retornar 0; } Note a expressão, "throw (int, double)" no final da declaração (em cima) da função.
A sintaxe para especificar exceção para uma função é returnType fnName (parâmetros) lance (tipos); A especificação é feita na declaração da função. Você só anexar "jogar (tipos)" para a declaração da função. Você pode ter um ou