中的异常处理MATLAB应用程序
概述
无论您多么仔细地计划和测试所编写的程序,当在不同的条件下执行时,它们可能并不总是像预期的那样平稳运行。在程序中包含错误检查总是一个好主意,以确保在所有条件下的可靠运行。
在MATLAB中®在软件方面,您可以决定您的程序如何响应不同类型的错误。您可能希望提示用户进行更多输入,显示扩展的错误或警告信息,或者使用默认值重复计算。MATLAB中的错误处理功能可以帮助程序检查特定的错误条件,并根据情况执行适当的代码。
当MATLAB检测到它正在运行的命令或程序中有严重的错误时,它会收集有关错误发生时发生的情况的信息,显示一条消息来帮助用户了解错误的原因,并终止命令或程序。这叫做抛出异常.在MATLAB命令提示符下输入命令或执行程序代码时,可能会出现异常。
在命令行获取异常
如果在MATLAB提示符处遇到异常,您有几种处理方法,如下所述。
从错误消息中确定故障
评估MATLAB显示的错误信息。大多数错误消息至少试图解释程序失败的直接原因。通常有足够的信息来确定原因和你需要做什么来补救情况。
检查失败的代码
如果发生错误的函数是作为MATLAB程序文件实现的,则错误消息应该包括如下内容的一行:
冲浪错误使用冲浪(线49没有足够的输入参数。
文本包括抛出错误的函数的名称(冲浪
在本例中),并显示该函数的程序文件中的失败行号。点击行号;MATLAB打开文件,并将光标定位到文件中错误产生的位置。您可以通过检查这一行及其前面的代码来确定错误的原因。
步骤通过调试器中的代码
您可以使用MATLAB调试器逐步遍历失败的代码。单击带下划线的错误文本,在MATLAB编辑器中在错误点处或附近打开文件。接下来,单击该行开头的连字符以在该位置设置断点。当您重新运行程序时,MATLAB在断点处暂停执行,并允许您逐步遍历程序代码。命令Dbstop启动错误
也有助于发现错误点。
请参阅有关调试MATLAB代码文件更多信息。
在程序代码中获取异常
当您在程序文件中编写自己的程序时,您可以这样做抓异常,并尝试处理或解决它们,而不是允许程序终止。捕获异常时,中断正常的终止过程,并输入处理故障情况的代码块。这段代码叫做catch块.
你可能想在catch块中做的一些事情是:
检查已捕获的关于错误的信息。
收集进一步的信息报告给用户。
试着用其他方式完成手头的任务。
清除错误的任何不必要的副作用。
当到达捕获块的末尾时,可以继续执行程序(如果可能的话),也可以终止程序。
使用一个MException
对象以访问有关程序中异常的信息。有关更多信息,请参见响应异常.
生成一个新的异常
当程序代码检测到可能导致程序失败或产生不可接受结果的条件时,应该抛出异常。这个过程
保存有关发生错误的地方以及发生错误时正在执行的代码的信息。
收集有关错误的任何其他相关信息。
指示MATLAB抛出异常。
使用一个MException
对象捕获有关错误的信息。有关更多信息,请参见抛出异常.