>  기사  >  백엔드 개발  >  PHP常用功能块_异常与时间戳 — php(33),php时间戳转换_PHP教程

PHP常用功能块_异常与时间戳 — php(33),php时间戳转换_PHP教程

WBOY
WBOY원래의
2016-07-13 09:53:02846검색

PHP常用功能块_异常与时间戳 — php(33),php时间戳转换

异常(接上篇)

一个简单异常处理实例

<?<span>php
</span><span>try</span><span> {
$error</span>= <span>'</span><span>Always throw this error</span><span>'</span><span>;
</span><span>throw</span> <span>new</span><span> Exception($error);
</span><span>//</span><span>创建一个异常对象,通过throw语句抛出</span>
echo <span>'</span><span>Neverexecuted</span><span>'</span><span>;
</span><span>//</span><span>从这里开始,try代码块内的代码将不会再被执行</span>
} <span>catch</span><span> (Exception $e) {
echo </span><span>'</span><span>Caught exception:</span><span>'</span>, $e->getMessage(), <span>"</span><span>\n</span><span>"</span><span>;
</span><span>//</span><span>输出捕获的异常消息</span>
<span>}
echo </span><span>'</span><span>Hello World</span><span>'</span>; <span>//</span><span>程序没有崩溃继续向下执行</span>
?>

系统自带异常处理

 

<?<span>php
classException{
</span><span>protected</span>$message=<span>'</span><span>Unknownexception</span><span>'</span>;<span>//</span><span>异常信息</span>
<span>protected</span>$code=<span>0</span>;<span>//</span><span>用户自定义异常代码</span>
<span>protected</span>$file;<span>//</span><span>发生异常的文件名</span>
<span>protected</span>$line;<span>//</span><span>发生异常的代码行号</span>
function__construct($message=<span>null</span>,$code=<span>0</span><span>);
finalfunctiongetMessage();</span><span>//</span><span>返回异常信息</span>
finalfunctiongetCode();<span>//</span><span>返回异常代码</span>
finalfunctiongetFile();<span>//</span><span>返回发生异常的文件名</span>
finalfunctiongetLine();<span>//</span><span>返回发生异常的代码行号</span>
finalfunctiongetTrace();<span>//</span><span>backtrace()数组</span>
finalfunctiongetTraceAsString(); <span>//</span><span>已格成化成字符串</span>
<span>的getTrace()信息
</span><span>/*</span><span>可重载的方法</span><span>*/</span><span>
function__toString();</span><span>//</span><span>可输出的字符串</span>
<span>}
</span>?>

 

 

<?<span>php
</span><span>/*</span><span> 自定义的一个异常处理类,但必须是扩展内异常处理类的子类</span><span>*/</span>
<span>class</span><span> MyExceptionextends Exception{
</span><span>//</span><span>重定义构造器使第一个参数message 变为必须被指定的属性</span>
<span>public</span> function __construct($message, $code=<span>0</span><span>){
</span><span>//</span><span>可以在这里定义一些自己的代码
</span><span>//</span><span>建议同时调用parent::construct()来检查所有的变量是否已被赋值</span>
<span>parent::__construct($message, $code);
}
</span><span>public</span><span> function __toString() {
</span><span>//</span><span>重写父类方法,自定义字符串输出的样式</span>
<span>return</span> __CLASS__.<span>"</span><span>:[</span><span>"</span>.$<span>this</span>->code.<span>"</span><span>]:</span><span>"</span>.$<span>this</span>->message.<span>"</span><span><br></span><span>"</span><span>;
}
</span><span>public</span><span> function customFunction() {
</span><span>//</span><span>为这个异常自定义一个处理方法</span>
echo <span>"</span><span>按自定义的方法处理出现的这个类型的异常<br></span><span>"</span><span>;
}
}
</span>?>

自定义异常

 

<?<span>php
</span><span>try</span> { <span>//</span><span>使用自定义的异常类捕获一个异常,并处理异常</span>
$error = <span>'</span><span>允许抛出这个错误</span><span>'</span><span>;
</span><span>throw</span> <span>new</span><span> MyException($error);
</span><span>//</span><span>创建一个自定义的异常类对象,通过throw语句抛出</span>
echo <span>'</span><span>Never executed</span><span>'</span>; <span>//</span><span>从这里开始,try代码块内的代码将不会再被执行</span>
} <span>catch</span> (MyException$e) { <span>//</span><span>捕获自定义的异常对象</span>
echo <span>'</span><span>捕获异常: </span><span>'</span>.$e; <span>//</span><span>输出捕获的异常消息</span>
$e->customFunction(); <span>//</span><span>通过自定义的异常对象中的方法处理异常</span>
<span>}
echo </span><span>'</span><span>你好呀</span><span>'</span>; <span>//</span><span>程序没有崩溃继续向下执行</span>
?><br /><br /><br />

 捕获多个异常

 

在try代码之后,必须至少给出一个catch代码块,也可以将多个catch代码块与一个try代码块关联使用。那么使用多个catch就可以捕获不同的类所产生的异常。注意顺序。

2 时间戳 

2.1 UNIX时间戳

 

Unix 时间戳:

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1006442.htmlTechArticlePHP常用功能块_异常与时间戳 — php(33),php时间戳转换 异常(接上篇) 一个简单异常处理实例 ? php try {$error = ' Always throw this error ' ; th...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.