php学习笔记之php异常处理

本文详细介绍了PHP异常处理的概念、基本语法结构、捕获与处理异常的方法,并通过实例展示了如何在PHP中实现异常处理,包括自定义异常类的创建与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php异常处理

所谓的异常是指在程序运行过程中所发生的不可预知的错误,比如程序在读取文件的内容时,文件不存在,这就是一种异常。

php的异常机制和其他的语言的大同小异,都是通过捕捉获取异常,然后处理之。

大概结构如下:

try {
		//可能会发生异常的代码块
	}catch (Exception $e){
		//处理异常
	}

其中try后面可以写多个catch语句,但是每个catch所接受的异常对象必须是不同的,Exception是php的内置异常类,与java不同的是,php不会自动抛出异常,而是需要使用throw关键字手动抛出异常,例如:throw new Exception($msg);

下面通过一个简单的示例来说说他的用法:

假设我们要计算两个数相除的结果,那被除数一定不能为零,如果被除数为零,则抛出异常。

try {
		$a=10;
		$b=0;
		if($b==0)
			throw new Exception('被除数不能为零');
		else
			echo "$a/$b=".($a/$b);
	}catch (Exception $e){
		echo 'Exception:'.$e->getMessage().'<br>';
		echo 'file:'.$e->getFile().'<br>';
		echo 'line:'.$e->getLine().'<br>';
	}

执行结果:




在上面的代码中,当被除数为零时,我们抛出了一个异常,并传入一个异常信息,此时程序跳入相应的catch块中,在catch异常后输出异常信息,发生异常的文件以及抛出异常的行数。

在执行了catch里面的代码后,程序会继续向后执行,如果抛出异常后没有与之匹配的catch块,那程序将会终止执行。

我们也可以通过继承Exception类来定义自己的异常类。

例如:

class MyException extends Exception{
		//添加你自己的成员变量和方法
	}


与java相比,php的异常处理机制还是略逊一筹,有没有觉得呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值