主要内容

中的异常处理MATLAB应用程序

概述

无论您多么仔细地计划和测试所编写的程序,当在不同的条件下执行时,它们可能并不总是像预期的那样平稳运行。在程序中包含错误检查总是一个好主意,以确保在所有条件下的可靠运行。

在MATLAB中®在软件方面,您可以决定您的程序如何响应不同类型的错误。您可能希望提示用户进行更多输入,显示扩展的错误或警告信息,或者使用默认值重复计算。MATLAB中的错误处理功能可以帮助程序检查特定的错误条件,并根据情况执行适当的代码。

当MATLAB检测到它正在运行的命令或程序中有严重的错误时,它会收集有关错误发生时发生的情况的信息,显示一条消息来帮助用户了解错误的原因,并终止命令或程序。这叫做抛出异常.在MATLAB命令提示符下输入命令或执行程序代码时,可能会出现异常。

在命令行获取异常

如果在MATLAB提示符处遇到异常,您有几种处理方法,如下所述。

从错误消息中确定故障

评估MATLAB显示的错误信息。大多数错误消息至少试图解释程序失败的直接原因。通常有足够的信息来确定原因和你需要做什么来补救情况。

检查失败的代码

如果发生错误的函数是作为MATLAB程序文件实现的,则错误消息应该包括如下内容的一行:

冲浪错误使用冲浪线49没有足够的输入参数。

文本包括抛出错误的函数的名称(冲浪在本例中),并显示该函数的程序文件中的失败行号。点击行号;MATLAB打开文件,并将光标定位到文件中错误产生的位置。您可以通过检查这一行及其前面的代码来确定错误的原因。

步骤通过调试器中的代码

您可以使用MATLAB调试器逐步遍历失败的代码。单击带下划线的错误文本,在MATLAB编辑器中在错误点处或附近打开文件。接下来,单击该行开头的连字符以在该位置设置断点。当您重新运行程序时,MATLAB在断点处暂停执行,并允许您逐步遍历程序代码。命令Dbstop启动错误也有助于发现错误点。

请参阅有关调试MATLAB代码文件更多信息。

在程序代码中获取异常

当您在程序文件中编写自己的程序时,您可以这样做异常,并尝试处理或解决它们,而不是允许程序终止。捕获异常时,中断正常的终止过程,并输入处理故障情况的代码块。这段代码叫做catch块

你可能想在catch块中做的一些事情是:

  • 检查已捕获的关于错误的信息。

  • 收集进一步的信息报告给用户。

  • 试着用其他方式完成手头的任务。

  • 清除错误的任何不必要的副作用。

当到达捕获块的末尾时,可以继续执行程序(如果可能的话),也可以终止程序。

使用一个MException对象以访问有关程序中异常的信息。有关更多信息,请参见响应异常

生成一个新的异常

当程序代码检测到可能导致程序失败或产生不可接受结果的条件时,应该抛出异常。这个过程

  • 保存有关发生错误的地方以及发生错误时正在执行的代码的信息。

  • 收集有关错误的任何其他相关信息。

  • 指示MATLAB抛出异常。

使用一个MException对象捕获有关错误的信息。有关更多信息,请参见抛出异常

Baidu
map