Conceptos básicos de PHP - Parte 15 Introducción Esta es la parte 15 de mi serie, Fundamentos de PHP. En esta parte de la serie, nos fijamos en los aspectos básicos de los errores. 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. Los errores de programación Hay tres tipos de errores de programación. En otras palabras, hay tres tipos de errores que pueden ocurrir en un programa.
Usted tiene errores de sintaxis, errores lógicos y errores de ejecución. Errores de sintaxis Este es el mal uso de la sintaxis. Estos errores son declaraciones equivocadas. Al escribir un comunicado, que está mal, es un error de sintaxis. Tal declaración no puede ser ejecutada. Por ejemplo, en una declaración que puede escribir una variable sin el signo $. Bajo esta condición, su programa no funciona.
Dependiendo de cómo se configure la instalación de PHP, tal error puede ser indicado por PHP para el dispositivo de salida justo antes del programa se va a ejecutar, cuando se da un comando para ejecutar el programa. Con un error de sintaxis, el programa no se ejecuta. Antes de ejecutar código PHP, hay alguna compilación mínimo que tiene lugar. Los errores de sintaxis se pueden observar por el compilador de PHP y reportados, y la ejecución (interpretación) del programa no tendrán lugar. Errores Lógicos En este caso, PHP intérprete entiende su programa muy bien y se ejecuta el programa.
Sin embargo, el programa no va a hacer lo que quería que hiciera. Se va a hacer algo un poco diferente o completamente diferente. La culpa es tuya. Por ejemplo, un bucle que se requiere para hacer 10 repeticiones podría hacer 5 repeticiones, porque codificado que equivocadamente que hacer 5 repeticiones. Otro ejemplo es que un bucle podría iterar infinitamente, porque la condición que dio para el bucle que está mal. Los errores lógicos se producen cuando se está ejecutando el programa (interpretados).
La única manera de resolver este problema es poner a prueba su programa muy bien antes de entregar al cliente (que pidió para ello). Tiempo de ejecución errores errores de ejecución se producen cuando el programa está siendo ejecutado como resultado del hecho de que usted no tomó cierto factor en cuenta al codificar. Por ejemplo, digamos que su código es dividir 8 por algún denominador que las entradas del usuario. Si el usuario introduce 2, la división va a funcionar, que le da 4 como respuesta. Si el usuario introduce cero, la división no funcionará, ya que 8/0 es indefinido.
Cuando se produce un error de ejecución de su programa normalmente se bloquea (y parada). Para solucionar los errores de ejecución, lo que tienes que escribir el código que impida la ejecución del segmento de código particular se llevara a cabo. En este ejemplo la división, lo que tienes que escribir el código que evitará la división por cero se llevara a cabo, y, posiblemente, informando al usuario del error que cometió introduciendo cero como denominador. Prevención de errores de ejecución errores de tiempo de ejecución se previenen utilizando lo que se llama bloques try-catch.
Vamos a usar el ejemplo de dividir 8 por un denominador para ilustrar esto. Considere el siguiente código: $ entrada = 2; try {if ($ entrada == 0) throw new Exception ('Se División por cero no está permitido.'); $ var = 8 /$ de entrada; $ var eco; } Catch (Exception $ e) {echo "Error:", $ e-> getMessage (); }?> Pruebe el código de seguridad. Usted debe tener 4 como la respuesta, que se muestra. Ahora cambia el valor de la variable $ de entrada al comienzo del código a 0. Usted debe tener el texto, "Error: La división por cero no está permitido." desplegado.
El código de 8 divide por el valor de la variable $ de entrada. Cuando el valor de la variable $ de entrada no es cero, todo está bien. Cuando el valor es cero, esto es un error, por lo que el programa no debe bloquearse. Código tiene que ser por escrito para evitar que el programa de estrellarse. Hay cuatro cosas que usted debe tener en cuenta sobre el código de seguridad. No es el bloque try; existe el bloque catch; hay un objeto creado a partir de una clase llamada Excepción; y hay una declaración llamada la sentencia throw alrededor del principio del bloque try.
El bloque try comienza con la palabra reservada, tratar, entonces usted tiene el par de llaves. Las cuentas para el bloque try están en las llaves. El bloque catch comienza con la palabra reservada, capturas. Tiene paréntesis con un parámetro. El parámetro es una variable, precedido por el tipo de variable (no hemos visto este tipo de variable antes). El bloque catch tiene un par de llaves. Las cuentas para el bloque catch entran en las llaves.
La primera declaración en el bloque try-es una declaración si-combinado con lo que se llama la sentencia throw? La idea es que compruebe si la variable $ de entrada es cero. Si es cero, entonces se ejecuta la sentencia throw para evitar accidente. Cuando se ejecuta la sentencia throw, decimos una excepción.
Cuando se produce una excepción, las declaraciones a continuación la sentencia throw en el bloque try no se ejecutan; mientras que los estados del bloque de captura deben ser ejecutados; es decir, cuando se produce un error, las declaraciones a continuación la sentencia throw en el bloque try no se ejecutan, mientras que el bloque catch se debe ejecutar para manejar el problema. Si no se produce ningún error (en este caso, la entrada no es cero), entonces no será una excepción.
Si no se produce una excepción, las declaraciones a continuación las declaraciones de tiro en el bloque try se ejecutan, y el bloque catch no se ejecuta. El bloque try tiene las cuentas normales a ejecutar para resolver la tarea requerida por el programa. Estas declaraciones se ejecutan con la condición de que se ha producido ningún error. El bloque catch tiene las sentencias que se ejecutarán si se produce un error. Por lo general, lo que el bloque catch hace es que simplemente informa al usuario de que se ha producido un error con una breve descripción del error.
Si se detecta el error en el bloque try y el bloque catch se ejecuta como en el código anterior, entonces el programa no se bloqueará. Repito, por lo general, el bloque catch no hace mucho más que mostrar un breve mensaje de error al usuario. Prevención de accidente es el resultado del hecho de que los estados normales en el bloque try no se ejecutan y se ejecuta el bloque catch. Introducción a la Clase Excepción Hay una clase llamada la clase Exception. Esta clase tiene un buen número de miembros y métodos. Para este tutorial básico vamos a hablar de uno de sus miembros.
El miembro tiene el mensaje de error que desea dar al usuario. Usted, el programador, es el que decide sobre el mensaje de error. Usted alimenta en el mensaje de error al crear un objeto de la clase. Se crea un objeto al mismo tiempo que usted está lanzando la excepción. En el código anterior, hemos, throw new Exception ('Se no se permite la división por cero.) Aquí, la palabra reservada, tirar, es lanzar la excepción. La excepción es un objeto, que puede tener el mensaje de error y otras cosas. En este tutorial, consideramos sólo el mensaje de error.
Para crear un objeto de excepción, comenzamos con el operador, nuevo. Esto es seguido, por el nombre de la clase, de excepción; a continuación entre paréntesis. En los paréntesis, se escribe el mensaje de error entre comillas. La clase Exception tiene un método constructor que asigna este mensaje de error como el valor de uno de sus miembros (uno de sus variables). Este objeto de excepción se lanza a ser atrapados ser un bloque catch. Así que la sentencia si detecta el error, lanza un objeto de excepción, que no conoce el error y el bloque catch atrapa el objeto de excepción.
El bloque catch utiliza la información en el objeto de excepción para completar el tratamiento de errores. El bloque catch La captura es como una función. Tiene paréntesis, que tiene un parámetro. El parámetro es la variable para un objeto de excepción. Solo tiene que elegir cualquier nombre que desee para la variable, y preceder con el signo $. Usted preceder la variable con la palabra, Excepción. Esto significa que el tipo de variable es una excepción. El saque de banda declaración es como una llamada al bloque catch. En el código anterior, tenemos la declaración de eco.
La construcción de eco toma una lista separada por comas de los argumentos. En este caso, el primer argumento es la cadena "Error:". Esta cadena se mostrará por primera vez en el navegador. Esta cadena indica al usuario que hay un error. La descripción del error se sigue de la siguiente argumento. Este siguiente argumento para la construcción de eco es un valor de retorno de un método del objeto de excepción. Lo que tenemos es exactamente: $ e->