Manejo de errores de PHP

| | | | | | | | | | | | | | | | | | |
Métodos de manejo de errores de PHP:
  • Usando el método die()
  • Manejo de errores personalizado
Manejo básico de errores: usando la función die() La funcióndie() imprime un mensaje y sale del script actual.Sintaxis:
die ($mensaje)
Ejemplo:< /b>
// Código PHP que muestra el manejo de errores predeterminado$file = fopen ( "ingeniero.txt" , "w" ); ?> Nota.Ejecute el código anterior y faltará el archivo engineer.txt , y luego se mostrará un error de tiempo de ejecución.
Error de tiempo de ejecución:
Advertencia de PHP: fopen (ingeniero.txt): no se pudo abrir la secuencia: Permiso denegado en /home/dac923dff0a2558b37ba742613273073.php en la línea 2
Para evitar este error, utilice la función die(). La función die() se implementa a continuación:Ejemplo:
// Código PHP para buscar errores
// si no hay ningún archivo
// luego salga del scriptif (! file_exists ( "ingeniero.txt" )) { morir ( " El archivo no está presente " ); }
// si el archivo está presente
// luego continuarotro { $archivo = fopen ( " ingeniero.txt " , " w " ); }
?> Nota.Si el archivo es ingeniero .txt falta, mostrará el resultado.
Salir
El archivo no está presente
Manejadores de errores personalizados:Crear un archivo personalizado El controlador de errores en PHP es muy fácil. Cree una función a la que se pueda llamar cuando ocurra un error en PHP.Sintaxis:
función_error ($nivel_error, $mensaje_error, $archivo_error, $línea_error, $contexto_error)
Parámetros:Esta función toma cinco parámetros como se indica arriba y se describe a continuación:
  • $error_level: Este es un parámetro obligatorio y debe ser un número entero. Hay niveles de error predefinidos.
  • $error_message:Este es un parámetro requerido y este es el mensaje que el usuario quiere imprimir.
  • $ error_file: es un parámetro opcional que se usa para especificar el archivo donde ocurrió el error.
  • $error_line:es un parámetro opcional que se usa para especificar el número de línea donde ocurrió el error. ocurrió.
  • $error_context:este es un parámetro opcional que se usa para especificar una matriz que contiene cada variable y su valor cuando ocurre un error.
error_level:estos son los posibles niveles de error, que se enumeran a continuación:
  • 1: .E_ERROR: se detuvo un error fatal en tiempo de ejecución
  • 2: E_WARNING: no error fatal en tiempo de ejecución, se detuvo la ejecución del script
  • 4: E_PARSE: error de tiempo de compilación generado por el analizador
  • 8: E_NOT ICE: el script encontró algo que podría ser un error
  • 16: E_CORE_ERROR: errores fatales que ocurrieron durante la ejecución inicial del script
  • 32: E_CORE_WARNING: errores no fatales que ocurrieron durante la ejecución inicial del script
  • 8191: E_ALL: todos los errores y advertencias
función set_error_handler():Después de crear la función myerror(), debe instalar un controlador de errores personalizado porque PHP normalmente lo maneja, pero si el usuario está haciendo un manejo de errores personalizado, entonces el usuario debe configurarlo en lugar de un argumento y pase la función myerror como una cadena.Ejemplo:
// Crear mi función de error que imprime el mensaje
// userfunction myerror ( $error_no , $error_msg ) { echo "Error: [$error_no] $error_msg" ; echo "Ahora el script finalizará" ; // Si ocurre un error, el script debe ser detenido
morir (); }
// Configuración set_error_handlerset_error_handler ( "myerror" ); $a = 10; $b = 0;
// Esto generar un errorecho ( $a / $b < código>) ;;
?>
Salida:
Error: [2] División b y cero Now Script terminará
Salida:siempre intente manejar los errores usando el manejo de errores personalizado porque mostrará un mensaje más específico de acuerdo con el usuario, lo que puede ser útil para el usuario. Si el error no se maneja con el manejo de errores personalizado, entonces ocurre un error, luego el script se detendrá de manera predeterminada, pero si maneja el error con el manejo de errores personalizado, puede continuar con el script después de mostrar el mensaje de error.