The catch will never be called, and you should never use isset() because it will return false if the value exists but is null.
whatever->param = null; whatever->param = 123;
function __set($k, $v){ if (array_key_exists($k, $this->Properties)){ throw new ReadOnlyException(); }else{ $this->Properties[$k] = $v; } }
The catch will never be called, and you should never use isset() because it will return false if the value exists but is null.
Both lines will execute here.