Utilizar try/catch para gestionar errores
Puede utilizar la instrucción try/catch
para ejecutar código cuando el programa detecte un error. Las instrucciones try/catch
pueden ser útiles si:
Desea finalizar el programa de otra forma que evite errores
Necesita eliminar los efectos colaterales no deseados del error
Tiene muchos parámetros o comandos de entrada que generan problemas
Coloque las instrucciones try/catch
en bloques de código, de forma similar a este pseudocódigo:
try try block... catch catch block... end
try block
, MATLAB® omite los comandos restantes del bloque try
y ejecuta los comandos en catch block
. Si no ocurre ningún error en try block
, MATLAB omite catch block
al completo.Por ejemplo, la instrucción try/catch
puede evitar que se tengan que arrojar errores. Considere la función combinations
, que devuelve el número de combinaciones de k
elementos de n
elementos:
function com = combinations(n,k) com = factorial(n)/(factorial(k)*factorial(n-k)); end
MATLAB arroja un error cuando k > n
. No puede crear un conjunto con más elementos k
que elementos n
que posee. Con la instrucción try/catch, puede evitar el error y ejecutar esta función independientemente del orden de las entradas:
function com = robust_combine(n,k) try com = factorial(n)/(factorial(k)*factorial(n-k)); catch com = factorial(k)/(factorial(n)*factorial(k-n)); end end
robust_combine
trata cualquier orden de números enteros como entradas válidas:C1 = robust_combine(8,4) C2 = robust_combine(4,8)
C1 = 70 C2 = 70
También puede obtener más información sobre los errores si después de la instrucción catch
hay una variable:
catch MExc
MExc
es un objeto de clase MException
que contiene más información sobre el error arrojado. Para obtener más información sobre el acceso a información de objetos MException
, consulte Exception Handling in a MATLAB Application.