try parametros new funciones exceptions ejemplos custom catch all php exception throw throws

parametros - throw new exception php



¿Puedo declarar que una función php arroja una excepción? (3)

¿Puedo declarar una función en php que arroje una excepción? Por ejemplo:

public function read($b, $off, $len) throws IOException


Para obtener una lista de excepciones que vienen con las excepciones SPL: SPL .

Si quieres crear tu propia excepción:

Desde la página here :

El objeto arrojado debe ser una instancia de la Clase de excepción o una subclase de Excepción. Intentar arrojar un objeto que no sea resultará en un error fatal de PHP.

Entonces, sí, es posible crear sus propias excepciones. Solo un poco de lectura lo ayudará a lograr lo que quiere.


Podría lanzar una nueva excepción desde el cuerpo de la función. Todo está descrito here

Ejemplo:

<?php function inverse($x) { if (!$x) { throw new Exception(''Division by zero.''); } else return 1/$x; } try { echo inverse(5) . "/n"; echo inverse(0) . "/n"; } catch (Exception $e) { echo ''Caught exception: '', $e->getMessage(), "/n"; } // Continue execution echo ''Hello World''; ?>


Puede usar @throws en el comentario de PHPDoc, y el IDE reconocerá que esta función arroja una excepción al ver el documento, sin embargo, a diferencia de Java, no lo forzará a implementar el bloque catch Try {}. Tal vez las versiones futuras del IDE (estoy usando InteliJ 11) marcarán los lugares donde se espera {} catch try, de la misma manera que lo hace con los tipos de JavaScript marcados por doc (por ejemplo, String}) al reconocer la inconsistencia.

En resumen, usar Doclet como cuando se codifica con lenguajes de scripting (PHP, JavaScript ...), se convierte en una herramienta complementaria para una programación más segura en el caso de lenguajes no seguros y no compilados.

Me gusta esto:

enter code here /** * Handle ''get'' operations * @abstract * @param int $status reference for setting the response status * @param String $body reference for setting the response data * @return mixed * @throws Exception if operation fail */ function get(&$status, &$body) { }