主要内容

试一试

执行语句并捕获产生的错误

语法

试一试语句异常语句结束

描述

例子

试一试语句,抓语句结束控件中的语句试一试控件中产生的错误块。这种方法允许您覆盖一组程序语句的默认错误行为。中的任何语句试一试块产生错误时,程序控制立即转到块,其中包含您的错误处理语句。

异常是一个MException对象,该对象允许您识别错误。的块将当前异常对象赋给异常

这两个试一试块可以包含嵌套的try / catch语句。

例子

全部折叠

创建两个不能垂直连接的矩阵。

一个=兰德(3);B = 1 (5);C =[一个;B];
使用顶点错误被连接的矩阵的维度不一致。

使用try / catch以显示有关维度的更多信息。

试一试C =[一个;B];如果(比较字符串(ME.identifierMATLAB:连接:dimensionMismatch) MSG =[中文:“维度不匹配发生:第一个参数已”...num2str(大小(2)),'列,而第二个有'...num2str(大小(B, 2)),“列”。];causeException = MException (MATLAB: myCode:维度的、味精);我= addCause(我,causeException);结束重新抛出(我)结束
使用顶点错误被连接的矩阵的维度不一致。维度不匹配:第一个参数有3列,而第二个参数有5列。

如果矩阵维数不一致,MATLAB®显示有关不匹配的更多信息。任何其他错误都会照常显示。

捕获调用不存在的函数所产生的任何异常,notaFunction.如果出现异常,则发出警告并将输出值赋为0。

试一试一个= notaFunction(5、6);警告(使用函数的问题。赋值为0。”);= 0;结束
警告:使用函数有问题。赋值为0。

它本身,是对的呼唤notaFunction导致错误。如果你使用试一试,此代码捕获任何异常并将其重新打包为警告,允许MATLAB继续执行后续命令。

使用try / catch以不同的方式处理不同类型的错误。

  • 如果函数notaFunction未定义时,发出警告而不是错误,并将输出值赋给

  • 如果notaFunction.m存在,但它是脚本而不是函数,发出警告而不是错误,运行脚本,并为输出分配值0

  • 如果MATLAB因任何其他原因抛出错误,则重新抛出异常。

试一试一个= notaFunction(5、6);开关ME.identifier情况下“MATLAB: UndefinedFunction”警告(的函数定义。赋值NaN。”);一个=南;情况下“MATLAB: scriptNotAFunction”警告([“试图将脚本作为功能来执行。”...'运行脚本并将输出值赋值为0 ']);notaFunction;= 0;否则重新抛出(我)结束结束
警告:函数未定义。指定NaN值。

提示

  • 你不能使用多个块内试一试块,但可以嵌套完成try / catch块。

  • 与其他一些语言不同,MATLAB不允许使用最后块内try / catch语句。

扩展功能

版本历史

之前介绍过的R2006a

全部展开

Baidu
map