Control de excepciones en C ++ - Parte 2 Introducción Esta es la parte 2 de mi serie, Excepción en C ++. Con excepciones de C ++, lo que se tira por la expresión tiro se llama un operando. En esta parte de la serie vemos como varios operandos pueden ser lanzadas en C ++. Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo.
Distintas maneras de tirar Varios Operandos Un tratar bloque puede tener varios estados de tiro, y cada declaración lanzando un (una) operando en particular. Una sentencia throw también puede lanzar una matriz. Nos fijamos en estas dos maneras de lanzar varios operandos. Varios estados de tiro en un bloque try puede tener varios estados de tiro en un bloque try. Lo que importa aquí es que el operando de cada sentencia throw debe ser de un tipo diferente de las otras declaraciones de tiro. No debe haber el mismo número de bloques catch correspondiente.
En este punto tengo que hacer algunas aclaraciones entre lo que hemos aprendido en la parte anterior de la serie y lo que estamos aprendiendo ahora. Si en el bloque try, tiene varias declaraciones tiro del mismo tipo, entonces usted necesita un bloque de captura para todos los tiros. En el bloque catch sentencias if se pueden utilizar para seleccionar los distintos valores de operando.
Lo que estamos aprendiendo ahora es la siguiente: Si en el bloque try, tiene varias declaraciones tiro cada uno de un tipo diferente, entonces usted necesita bloques de captura para los diferentes tipos correspondientes. Cada uno de estos bloques catch no necesitaría sentencias if para seleccionar cualquier valor de operando, ya que el criterio de un bloque catch para atrapar un lanzamiento es sólo que el tipo de parámetro del bloque catch debe ser el mismo que el tipo del operando lanzado.
Aquí, los parámetros de los bloques de captura deben ser de diferentes tipos, cada uno correspondiente a uno de la declaración de banda en el bloque try. Cada bloque catch atrapa un saque de banda cuyo operando es del mismo tipo que su parámetro. El siguiente código ilustra esto: #include using namespace std; int main () {try {throw 5; //un int lanzar 4.
6; //un doble (por flotación) Lanzamiento de 'B'; //un tiro char "un poco de texto"; //una cadena} catch (int i) {cout} catch (double d) {cout} catch (char c) {cout} catch (co