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 时间戳:
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

本文比較了PHP和ASP.NET,重點是它們對大規模Web應用程序,性能差異和安全功能的適用性。兩者對於大型項目都是可行的,但是PHP是開源和無關的,而ASP.NET,

本文討論了PHP數據對象(PDO),這是PHP中數據庫訪問的擴展名。它通過準備好的語句及其對MySQLI的好處,包括數據庫抽象和更好的錯誤處理,強調了PDO在增強安全性方面的作用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前ByDDD
Inzoi:如何申請學校和大學
3 週前ByDDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前ByDDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。