Maison  >  Article  >  développement back-end  >  Une brève discussion sur la gestion des erreurs et la gestion des exceptions en PHP

Une brève discussion sur la gestion des erreurs et la gestion des exceptions en PHP

不言
不言original
2018-06-04 16:34:491494parcourir

Cet article présente principalement une brève discussion sur la gestion des erreurs et des exceptions en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Gestion des erreurs : 1. Erreur de syntaxe
2. Erreur d'exécution
3. Erreur de logique

Rapport d'erreur :
                                                                                                                                                                E_ERROR                                                                                                               Phase d'exécution : ne laissez pas le programme générer un quelconque type de rapport d'erreur


Écrivez le rapport d'erreur dans le journal

1. Spécifiez le rapport d'erreur error_reporting= E_ALL (dans php.inn)

2. Désactivez la sortie d'erreur display_errors=off (dans php.ini)

3. Activez la fonction de journal des erreurs log_errors=on (dans php.ini)

1. si l'emplacement du journal des erreurs n'est pas spécifié, il sera écrit par défaut dans le journal du serveur Web

2 Spécifiez un nom de fichier pour l'option error_log Ce nom de fichier est le journal des erreurs

<.>3. Écrivez dans le journal du système d'exploitation error_log=syslog

Gestion des exceptions :

Accidents sont des choses inattendues qui se produisent pendant l'exécution du programme. Utiliser des exceptions Changer le flux normal du script

<?php
//注意和警告都不会终止程序的运行,但是错误会终止程序的运行
/*
错误E_ERROR
警告E_WARNING
注意E_NOTICE
*/
//所有的错误都输出除了注意
error_reporting(E_ALL & ~E_NOTICE);

//设置配置文件的值(临时)
//ini_set("upload_max_filesize", 2000000000);

//得到配置文件的值
//ini_get("upload_max_filesize");

//关闭错误报告的显示,一般在运行阶段使用
ini_set("display_errors", "off");
//将错误报告写入日志中
ini_set("log_errors", "on");
//日志的目录
ini_set("error_log", "D:/error.log");
gettype($var);  //注意

gettype();    //警告

//getype();    //错误,程序终止

echo "############<br>";
?>

Une nouvelle fonctionnalité importante dans PHP5

1. S'il n'y a pas de problème avec le code dans try, alors une fois l'exécution du code dans try terminée, il est exécuté après le catch

2 si une exception se produit dans le code. dans try, un objet d'exception est lancé (en utilisant throw), et si les paramètres dans catch sont lancés, alors dans try, le contenu après l'apparition du code d'exception ne sera pas exécuté. Il passera directement au catch pour exécution. est terminé dans la capture, continuez l'exécution

  try{
    }catch(异常对象){
    }

<?php
try{
  echo "11111111<br>";
  $file=@fopen("./hello.txt","r");
  if(!$file){
    throw new Exception("文件打开失败");
    
  }
  echo "2222222222<br>";
}catch(Exception $e){
  echo "3333333<br>";
  echo $e->getMessage()."<br>";
  touch("hello.txt");
  $file=@fopen("./hello.txt","r");
}
echo "4444444<br>";
?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn