Manejo de errores en PHP

PHP | Control de errores : En este tutorial, vamos a aprender sobre el tratamiento de errores en PHP con ejemplos usando varios métodos.

PHP | Control de errores de manipulación

error es una parte esencial cuando se crean secuencias de comandos y aplicaciones web. Sin el error manejo código en cualquier programa, el programa parece ser poco profesional y tiene un potencial riesgo de seguridad.

para controlar los errores en PHP es tan sencillo y necesario que el programa conoce la acción apropiada que debe adoptar en caso dichos errores.

Hay tres métodos de comprobación de errores class,

  1. die () función
  2. Custom comprobación de errores
  3. función

  4. errores de información

1) die ()

Esta función permite que muestran de el mensaje fácil de usar cuando se produce un error en particular. Esto permite class mejor interacción entre el programa y el usuario.

ejemplo main, hay un archivo que no se encuentra en el código. A continuación, se imprime un error que es confuso y complicado.

Programa:

<?php
// Trying to open a file which is
// not present in the system
$file=fopen("technology.txt","r");
?>

Salida:

PHP Warning:  fopen(technology.txt): failed to open stream: 
No such file or directory in /home/jdoodle.php on line 4

Por lo tanto mejor despliegue de errores del mensaje si no se encuentra el archivo, un programa puede ser escrito como abajo,

Programa:

<?php
// Checking for the file name
if(file_exists("technology.txt")) {
$file = fopen("technology.txt", "r");
} else {
// If the file is not found message will be printed
die("Error: The mentioned file was not found");
}
?>

salida:

Error: The mentioned file was not found

2) Manejo de error personalizado función

podemos comprobar y comprobación de errores para requisitos particulares simple creación de una función. Se va a llamar cuando está presente un error.

Hay un mínimo de dos argumentos que se necesitan para ser pasado en el parámetro. Uno de ellos es el nivel de error, mientras que otro es el mensaje. En el máximo, cinco argumentos pueden ser pasados ​​a la vez.

Sintaxis:

function_name(level,message,error_file,line,context)

Parámetros:

  • function_name: el nombre de la función de error hace para manejar el error.
  • nivel: Es un número que especifica el nivel del error.
  • mensaje: Mensaje que debe ser representada
  • ERROR_FILE (opcional): menciona el nombre del archivo en el que ocurrió el error.
  • línea (opcional): menciona el número de línea en la que ocurrió el error
  • Contexto (opcional): Array con todas las variables en uso y sus valores

Aquí está el programa para hacer la comprobación de errores personalizado cuando intentar imprimir una variable que no está presente.

Programa:

<?php
//error handling function
function catching_Error($no, $str) {
echo "<b>Error:</b> [$no] $str";
}
//set error handler
set_error_handler("catching_Error");
//error trigging function
echo($uu);
?>

Salida:

<b>Error:</b> [8] Undefined variable: uu

trigger_error () la función

Si la función o cualquier código recibe datos que, lógicamente, no es correcto trigger_error entonces () función puede ser for usada mostrando un mensaje.

For ejemplo, un profesor quiere reclutar únicamente a aquellos alumnos que tengan asegura más de pasar balizas entonces el siguiente código se puede escribir.

Programa:

<?php
// Taking user input of marks
$marks=(int)readline('Enter the marks :');
if ($marks<=50) {
trigger_error("Repeat this class since you are fail");
}
?>

Salida:

Enter the marks :43
PHP Notice: Repeat this class since you are fail in /home/jdoodle.php on line 5

3) Registro de errores

un determinado archivo o destino remoto pueden enviar un mensaje de registro de errores utilizando el registro de errores () función.

Qué es mejor que el envío de un correo electrónico completa de una descripción del error que ocurrió?

Programa:

<?php
// function for checking errors
function checking_errors($no, $str) {
echo "Error: [$no] $str";
echo "technology has been notified";
error_log("Error: [$no] $str",1,
"[email protected]","From:[email protected]");
}
// set error handler
set_error_handler("checking_errors",E_USER_WARNING);
// triggering error
$marks=43;
if ($marks<=50) {
trigger_error("Repeat this class since you are fail",E_USER_WARNING);
}
?>

Salida:

Error: [512] Repeat this class since you are failtechnology has been notified
The mail received by the user will be
Error: [512] Repeat this class since you are fail


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *