- 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;
}
- Getting Started with ResearchKit
- Java開發入行真功夫
- 新編Premiere Pro CC從入門到精通
- Apache Mesos Essentials
- 深入分布式緩存:從原理到實踐
- Extending Puppet(Second Edition)
- Learning Laravel's Eloquent
- 動手打造深度學習框架
- Practical Maya Programming with Python
- Deep Learning for Natural Language Processing
- ASP.NET本質論
- 鋁合金陽極氧化與表面處理技術(第三版)
- KnockoutJS Blueprints
- 前端Serverless:面向全棧的無服務器架構實戰
- C++標準庫(第2版)