Heim  >  Artikel  >  Backend-Entwicklung  >  Allgemeine PHP-Funktionsblöcke_Exception und Zeitstempel – PHP (33)

Allgemeine PHP-Funktionsblöcke_Exception und Zeitstempel – PHP (33)

WBOY
WBOYOriginal
2016-08-08 09:23:441092Durchsuche

Ausnahme (Fortsetzung vom vorherigen Artikel)

Ein einfaches Beispiel für die Ausnahmebehandlung

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

Das System verfügt über eine Ausnahmebehandlung

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

Benutzerdefinierte Ausnahme

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

Mehrere Ausnahmen abfangen

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

2 Zeitstempel

2.1 UNIX-Zeitstempel

Unix-Zeitstempel:
??Die Anzahl der Sekunden seit der Unix-Epoche (1. Januar 1970 00:00:00 GMT) bis zur aktuellen Zeit.
??Verwandt Funktionen:
??Verwenden Sie die Funktion time(), um einen Zeitstempel des aktuellen Systems zurückzugeben
??mktime() – Rufen Sie den Unix-Zeitstempel eines Datums ab
??Format: intmktime(time [, Minuten[,Sekunden[,Monat[,Tag[,Jahr[,is_dst-Bereich]]]]]);
??Hinweis: Der Parameter is_dst gibt an, ob

2.2 in PHP Datum und Datum abrufen Zeit in

getdate--Datums-/Uhrzeitinformationen abrufen
??Format: Array getdate([inttimestamp])
??Gibt einen Wert basierend auf einem Zeitstempel zurück, der ein assoziatives Array von Datumsinformationen enthält . Wird kein Zeitstempel angegeben, wird die aktuelle Ortszeit angenommen. Die Einheiten im Array lauten wie folgt:

2.3 Formatierte Ausgabe von Datum und Uhrzeit

Datum – Formatieren einer Ortszeit / Date
??Format: string date (string format [, inttimestamp])
??Gibt eine Zeichenfolge zurück, die durch Konvertieren des ganzzahligen Zeitstempels gemäß der angegebenen Formatzeichenfolge generiert wird. Wenn kein Zeitstempel angegeben wird, wird die lokale aktuelle Zeit verwendet. Mit anderen Worten, der Zeitstempel ist optional und der Standardwert ist time() (der aktuelle Zeitstempel).
??Zum Beispiel:
echo date("Y Jahr m Monat d Tag H:i:s");//28. Oktober 2010 14:22:28
Y: vierstelliges Jahr m : Monat 01-12 n: Monat 1-12d: Tag 01-31 j: Tag 1-31
H: Stunde 24-Stunden-System h: Stunde 12-Stunden-System i: Minute 00-59 s: Sekunde 00- 59 w: Wochentag 0-6
A: AM oder PM a: AM oder PM.

2.4 Ändern der Standardzeitzone von PHP

Es gibt zwei Möglichkeiten, die Standardzeitzone von PHP zu ändern:
?? ini-Konfigurationsdatei:
??date.timez/GMT 8
??2. Verwenden Sie die Funktion date_default_timezone_set: – Legen Sie die Standardzeitzone für alle Datums- und Uhrzeitfunktionen in einem Skript fest.
??Zum Beispiel: date_default_timezone_set("PRC");//China-Zeitzone.
??date_default_timezone_get(); // Aktuelle Zeitzone abrufen

2,5 Mikrosekunden verwenden, um die Ausführungszeit des PHP-Skripts zu berechnen

Mikrozeit – gibt das aktuelle Unix zurück Zeitstempel und Mikrosekunden
??Format: gemischt microtime([boolget_as_float])
??microtime() Aktueller Unix-Zeitstempel und Mikrosekunden. Diese Funktion ist nur unter Betriebssystemen verfügbar, die den Systemaufruf gettimeofday() unterstützen.
??Wenn diese Funktion ohne optionale Parameter aufgerufen wird, gibt sie eine Zeichenfolge im Format „msecsec“ zurück, wobei „sec“ die Anzahl der Sekunden seit der Unix-Epoche (0:00:00, 1. Januar 1970 GMT) ist. Die Zahl „msec“ ist der Mikrosekundenteil. Beide Teile der Zeichenfolge werden in Sekunden zurückgegeben.
??Wenn der Parameter get_as_float angegeben ist und sein Wert TRUE entspricht, gibt microtime() eine Gleitkommazahl zurück.

Das Obige stellt die allgemeinen Funktionsblöcke von PHP_Exception und Timestamp (33) vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn