찾다
백엔드 개발PHP 튜토리얼用实例分析PHP5异常处理_PHP教程
用实例分析PHP5异常处理_PHP教程Jul 21, 2016 pm 02:52 PM
phpphp5다루다사례분석이상기준 치수사용~의언어

<?php
/**
* ■㈠PHP5的异常处理
*
* PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw
* 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以
* 便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch
* 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配
* 所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP
* 允许在 catch 代码块内再次抛出(throw)异常。
* 当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续
* 执行,而 PHP 就会尝试查找第一个能与之匹配的 catch。如果一个异常没有被捕获,而
* 且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一
* 个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息。
*/
?>
<?php
/**
* Exception.php
*
* ■㈡PHP5内置的异常类的属性与方法
* 以下这段代码只为说明内置异常处理类的结构,它并不是一段有实际意义的可用代码。
*/

class Exception{
protected $message = 'Unknown exception'; // 异常信息
protected $code = 0; // 用户自定义异常代码
protected $file; // 发生异常的文件名
protected $line; // 发生异常的代码行号

function __construct($message = null, $code = 0);
final function getMessage(); // 返回异常信息
final function getCode(); // 返回异常代码(代号)
final function getFile(); // 返回发生异常的文件名
final function getLine(); // 返回发生异常的代码行号
final function getTrace(); // backtrace() 数组
final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

 

可重载的方法
function __toString(); // 可输出的字符串
}

?>

<?php
/**
* syntax .php
*/

//■㈢语法结构以及分析

//PHP有两种抛出异常的格式,如下

//【1】try...catch...
try {
//实行可能有异常的操作,比如数据库错作,文件错作
}catch (Exception $e){
//打印错误信息
}

//【2】throw
$message='我必须被运行在try{}块中,出现异常的话我($message)将被返回(传递)给catch()里的异常对象的实例比如上面的$e';
$code=123; //错误代码号,可在catch块中用$e->getCode();返回我的值 123,这样我就可以自定义错误代码号

throw new Exception($message,$code);

//学JAVA的注意,PHP异常处理没有throws

?>

 

<?php
/**
* Example.php
*/
//■㈣两个实例掌握PHP异常处理


//例【1】用 try...catch
/* PDO连接mysql数据库,如果没看过PDO,先看下PDO的构造函数,要不跳过例1看例2 */
$dsn = 'mysql:host=localhost;dbname=testdb';
$user = 'dbuser';
$password = 'dbpass';

try {
$dbh = new PDO($dsn, $user, $password); //创建数据库连接对象容易出现异常
echo '如果上面出现异常就不能显示我了';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->__toString();
}
?>

<?php
//例[2] try..cathc 和 throw一起用
try {
$error = '我抛出异常信息,并且跳出try块';
if(is_dir('./tests')){
echo 'do sth.';
}else{
throw new Exception($error,12345);
}
echo '上面有异常的话就轮不到我了!~<br />',"n";
} catch (Exception $e) {
echo '捕获异常: ', $e->getMessage(),$e->getCode(), "n<br />"; //显示$error和123456
}
echo '继续执行';
?>

<?php
//PHP的一场处理相对于JAVA来说,容易学多了,因为JAVA有太多的异常类,还有throws等
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371514.htmlTechArticle<?php /** * ■㈠PHP5的异常处理 * * PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw * 语句抛出并被 catch 语...
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
php5和php8有什么区别php5和php8有什么区别Sep 25, 2023 pm 01:34 PM

php5和php8的区别在性能、语言结构、类型系统、错误处理、异步编程、标准库函数和安全性等方面。详细介绍:1、性能提升,PHP8相对于PHP5来说在性能方面有了巨大的提升,PHP8引入了JIT编译器,可以对一些高频执行的代码进行编译和优化,从而提高运行速度;2、语言结构改进,PHP8引入了一些新的语言结构和功能,PHP8支持命名参数,允许开发者通过参数名而不是参数顺序等等。

Java中的NoSuchFieldError异常常见原因是什么?Java中的NoSuchFieldError异常常见原因是什么?Jun 24, 2023 pm 09:00 PM

Java中的NoSuchFieldError异常常见原因是什么?Java是一种跨平台的面向对象编程语言,多用于开发企业级应用程序和移动应用程序等。在Java程序开发中,NullPointerException、IndexOutOfBoundsException、ClassCastException等异常经常会出现,而NoSuchFieldError异常也是比

Java中的StackOverflowError异常常见原因是什么?Java中的StackOverflowError异常常见原因是什么?Jun 25, 2023 am 08:19 AM

Java中的StackOverflowError异常常见原因是什么?在使用Java编程时,如果程序出现了StackOverflowError异常,那么程序将会崩溃,并且输出错误信息。那么什么是StackOverflowError异常,这种异常一般发生在哪些情况下呢?今天我们就来了解一下关于Java中StackOverflowError异常的常见原因。一、什么

Java中的ClassCastException异常常见原因是什么?Java中的ClassCastException异常常见原因是什么?Jun 25, 2023 am 10:37 AM

Java中的ClassCastException异常常见原因是什么?Java语言中,ClassCastException异常是一种运行时异常,它发生在Java程序在运行时试图将一个对象强制转换为不兼容的数据类型时。在这种情况下,编译器将无法提前检查出类型不兼容的错误,而是在程序运行时抛出异常。在Java中,ClassCastException异常通常发生在以

php5如何改80端口php5如何改80端口Jul 24, 2023 pm 04:57 PM

php5改80端口的方法:1、编辑Apache服务器的配置文件中的端口号;2、辑PHP的配置文件以确保PHP在新端口上工作;3、重启Apache服务器,PHP应用程序将开始在新的端口上运行。

Java中的FileNotFoundException异常常见原因是什么?Java中的FileNotFoundException异常常见原因是什么?Jun 25, 2023 am 09:37 AM

Java中的FileNotFoundException异常常见原因是什么?在Java开发过程中,异常是难免出现的。其中FileNotFoundException是一种十分常见的异常,可能会给开发者带来不必要的麻烦和时间的浪费。本文将探讨FileNotFoundException异常的常见原因,以及如何避免和解决它。一、FileNotFoundExceptio

Java中的SecurityException异常常见原因是什么?Java中的SecurityException异常常见原因是什么?Jun 25, 2023 am 09:04 AM

Java中的SecurityException异常是一种常见的异常类型,它通常在Java应用程序中出现,可能会给开发人员带来不少麻烦。本文将从几个方面介绍SecurityException异常的常见原因,帮助开发人员更好地理解、避免和解决这种异常。安全管理器限制Java中的SecurityManager是一组权限检查机制,用于保护Java应用程序安全。Sec

Java中的UnsupportedEncodingException异常常见原因是什么?Java中的UnsupportedEncodingException异常常见原因是什么?Jun 24, 2023 pm 07:53 PM

Java中的UnsupportedEncodingException异常常见原因是什么?在Java编程中,我们经常会出现一些异常情况。其中,UnsupportedEncodingException异常是一个常见的异常,其出现的原因比较多。下面,我们将介绍在Java中常见的UnsupportedEncodingException异常的原因。1.编码格式不匹配在

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경