PHP 8.1.24 Released!


(PHP 5, PHP 7, PHP 8)

Exception::getCodeObtiene el código de una excepción


final public Exception::getCode(): mixed

Devuelve el código de una excepción.


Esta función no tiene parámetros.

Valores devueltos

Devuelve el código de Excepción en forma de integer en Exception pero posiblemente en forma de otros tipos en Exception descendientes (por ejemplo como string en PDOException).


Ejemplo #1 Ejemplo de Exception::getCode()

try {
throw new
Exception("Un mensaje de error", 30);
} catch(
Exception $e) {
"El código de excepción es: " . $e->getCode();

El resultado del ejemplo sería algo similar a:

El código de excepción es: 30

Ver también

add a note

User Contributed Notes 4 notes

talksonweb at gmail dot com
10 years ago
The exception code can be used to categorize your errors. If you're wondering what the exception code can be used for, read on below.

Let's say each time your application isn't able to connect to the database, you can save the error message under the error/exception code 214. At the end of the month, you can do a quick search on the error number '214' and find out how many times this error occurred. This makes life easier. Also, the error/exception message will give you details into what happened.

The point is to use both the exception message and code. It's helpful in the long run.

Note: I added this note, because I was confused earlier as to the purpose of the exception code and it's use.
ricky at rocker dot com
10 years ago
when raising an Exception with no error code explicitly defined, getCode() returns the integer 0

try {
throw new
Exception("no code!!");
} catch (
Exception $e) {
"Code='" . $e->getCode() . "'");


2 years ago
Do not use the strict operator as suggested when checking the Exception Code in \PDOException.
As per documentation: \PDOException is returning a string for its Exception Code and not an Integer.

Ran into the following in PHP8:

catch(\PDOException $e) {
var_dump($e->getCode()); //Output: string(5) "23000"

ahmad dot mayahi at gmail dot com
6 years ago
One of the most useful tricks of getCode is handling duplication entries when trying to add a duplicate row into the database.

Sometimes we don't need to show any errors regarding this duplication.

The following snippet is taken from one of my projects:

//I have a mysql table called hosts with one unique key named host_name.
try {
$hosts = new Hosts(["host_name" => "");
} catch (\
PDOException $e) {
if (
$e->getCode() === 23000) {
//Do nothing

Here I'm saving the host name, and I don't care if it's already exists.
To Top