search
HomeBackend DevelopmentPHP TutorialPHP common function blocks_Exception and timestamp - php (33), php timestamp conversion_PHP tutorial

PHP common function blocks_Exception and timestamp - php (33), php timestamp conversion

Exception (continued from the previous article)

A simple exception handling example

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

The system comes with exception handling

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

Custom exception

<?<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 />

Catch multiple exceptions

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

2 timestamp

2.1 UNIX Timestamp

Unix timestamp:

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1006442.htmlTechArticlePHP common function blocks_Exception and timestamp - php (33), php timestamp conversion exception (continued from the previous article ) A simple exception handling example? php try {$error = ' Always throw this error ' ; th...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How can you prevent session fixation attacks?How can you prevent session fixation attacks?Apr 28, 2025 am 12:25 AM

Effective methods to prevent session fixed attacks include: 1. Regenerate the session ID after the user logs in; 2. Use a secure session ID generation algorithm; 3. Implement the session timeout mechanism; 4. Encrypt session data using HTTPS. These measures can ensure that the application is indestructible when facing session fixed attacks.

How do you implement sessionless authentication?How do you implement sessionless authentication?Apr 28, 2025 am 12:24 AM

Implementing session-free authentication can be achieved by using JSONWebTokens (JWT), a token-based authentication system where all necessary information is stored in the token without server-side session storage. 1) Use JWT to generate and verify tokens, 2) Ensure that HTTPS is used to prevent tokens from being intercepted, 3) Securely store tokens on the client side, 4) Verify tokens on the server side to prevent tampering, 5) Implement token revocation mechanisms, such as using short-term access tokens and long-term refresh tokens.

What are some common security risks associated with PHP sessions?What are some common security risks associated with PHP sessions?Apr 28, 2025 am 12:24 AM

The security risks of PHP sessions mainly include session hijacking, session fixation, session prediction and session poisoning. 1. Session hijacking can be prevented by using HTTPS and protecting cookies. 2. Session fixation can be avoided by regenerating the session ID before the user logs in. 3. Session prediction needs to ensure the randomness and unpredictability of session IDs. 4. Session poisoning can be prevented by verifying and filtering session data.

How do you destroy a PHP session?How do you destroy a PHP session?Apr 28, 2025 am 12:16 AM

To destroy a PHP session, you need to start the session first, then clear the data and destroy the session file. 1. Use session_start() to start the session. 2. Use session_unset() to clear the session data. 3. Finally, use session_destroy() to destroy the session file to ensure data security and resource release.

How can you change the default session save path in PHP?How can you change the default session save path in PHP?Apr 28, 2025 am 12:12 AM

How to change the default session saving path of PHP? It can be achieved through the following steps: use session_save_path('/var/www/sessions');session_start(); in PHP scripts to set the session saving path. Set session.save_path="/var/www/sessions" in the php.ini file to change the session saving path globally. Use Memcached or Redis to store session data, such as ini_set('session.save_handler','memcached'); ini_set(

How do you modify data stored in a PHP session?How do you modify data stored in a PHP session?Apr 27, 2025 am 12:23 AM

TomodifydatainaPHPsession,startthesessionwithsession_start(),thenuse$_SESSIONtoset,modify,orremovevariables.1)Startthesession.2)Setormodifysessionvariablesusing$_SESSION.3)Removevariableswithunset().4)Clearallvariableswithsession_unset().5)Destroythe

Give an example of storing an array in a PHP session.Give an example of storing an array in a PHP session.Apr 27, 2025 am 12:20 AM

Arrays can be stored in PHP sessions. 1. Start the session and use session_start(). 2. Create an array and store it in $_SESSION. 3. Retrieve the array through $_SESSION. 4. Optimize session data to improve performance.

How does garbage collection work for PHP sessions?How does garbage collection work for PHP sessions?Apr 27, 2025 am 12:19 AM

PHP session garbage collection is triggered through a probability mechanism to clean up expired session data. 1) Set the trigger probability and session life cycle in the configuration file; 2) You can use cron tasks to optimize high-load applications; 3) You need to balance the garbage collection frequency and performance to avoid data loss.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function