Bonjour,

je souhaite contrôler le type des arguments passés au constructeur de ma classe . Pour éviter un message d'erreur si l'utilisateur met des paramètres d'un type non accepté, je pensais mettre un try-catch. Mais ça me génère un message d'erreur. Pourquoi ?

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
declare(strict_types=1);
namespace Classes\Olivier;
 
class Country
{
  // no setter as the constructor is sufficient
    private $name;  //string
    private $region;  //string 
 
      /* Constructor
      */
    public function __construct(string $name, string $region='') //the 2nd parameter is optional
    {
      try {
        $this->name=$name;
        $this->region=$region;
      }
      catch {
        echo "format incorrect<br/>";
      }
    }

Parse error: syntax error, unexpected '{', expecting '(' in C:\wamp64\www\ticket2\Classes\Olivier\Country.php on line 20
Je suis en PHP7.3.5