php教程 PHP源码 浅谈PHP中的错误处理和异常处理_php技巧

浅谈PHP中的错误处理和异常处理_php技巧

May 25, 2016 pm 05:05 PM
php 예외 처리

下面小编就为大家带来一篇浅谈PHP中的错误处理和异常处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

错误处理:
    
    1. 语法错误
    2. 运行时的错误
    3. 逻辑错误

 

错误报告:
        
        错误E_ERROR
        警告E_WARNING
        注意E_NOTICE


开发阶段:开发时输出所有的错误报告,有利于我们进行调试

运行阶段:不要让程序输出任何一种错误报告

将错误报告写入日志中

一.   指定错误报告error_reporting=E_ALL(在php.inn)

二.   关闭错误输出display_errors=off(在php.ini中)

三.   开启错误日志的功能log_errors=on(在php.ini中)

1. 默认如果不指定错误日志位置,则默认写入web服务器的日志中

2. 为error_log选项指定一个文件名,这个文件名就是错误日志

3. 写入到操作系统日志中error_log=syslog

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<?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>";

?>

로그인 후 복사

异常处理:意外,是在程序运行过程中发生的意料之外的事,使用异常改变脚本正常流程

PHP5中的一个新的重要特性


try{

}catch(异常对象){

}

1. 如果try中代码没有问题,则将try中代码执行完成后就到catch后执行

2. 如果try中代码有异常发生,则抛出一个异常对象(使用throw),抛出给了catch中的参数,则在try中出现异常代码后的内容就不会执行,直接跳转到catch中去执行,catch中执行完成,再继续向下执行

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?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>";

?>

로그인 후 복사

以上这篇浅谈PHP中的错误处理和异常处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles