Main Content

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
Si ocurre un error en 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.

Consulte también

| |