- Building RESTful Web Services with PHP 7
- Haafiz Waheed ud din Ahmad
- 218字
- 2021-07-03 00:02:23
Errors and exceptions
In PHP7, most errors are now reported as error exceptions. Only a few fatal errors halt script execution; otherwise, if you are carrying out error or exception handling, it will not halt the script. This is because now the Errors class implements a Throwable interface just like the Exception class, which also implements Throwable. So now, in most cases, fatal errors can be avoided through exception handling.
Here are some sub-classes of the error class:
- TypeError
- ParseError
- ArithmeticError
- DivisionByZeroError
- AssertionError
This is how you can simply catch an error and handle it:
try {
fn();
} catch(Throwable $error){
echo $error->getMessage(); //Call to undefined function fn()
}
Here, $error->getMessage() is a method that is actually returning this message as a string. In our preceding example, the message will be similar to this: Call to undefined function fn().
This is not the only method you can use. Here is a list of methods that are defined in the Throwable interface; you can use them accordingly during error/exception handling. After all, the Exception and Error classes both implement the same Throwable interface:
interface Throwable
{
public function getMessage(): string;
public function getCode(): int;
public function getFile(): string;
public function getLine(): int;
public function getTrace(): array;
public function getTraceAsString(): string;
public function getPrevious(): Throwable;
public function __toString(): string;
}
- Apache Spark 2.x Machine Learning Cookbook
- vSphere High Performance Cookbook
- Vue.js 3.x從入門到精通(視頻教學版)
- Data Analysis with Stata
- Backbone.js Blueprints
- Java程序設計入門
- Terraform:多云、混合云環境下實現基礎設施即代碼(第2版)
- JavaScript程序設計(第2版)
- Android嵌入式系統程序開發:基于Cortex-A8(第2版)
- OpenMP核心技術指南
- SwiftUI極簡開發
- Drupal 8 Development Cookbook(Second Edition)
- Applied Deep Learning with Python
- Oracle Database XE 11gR2 Jump Start Guide
- Java核心編程