MATLAB异常处理机制_对于此运算,数组的大小不兼容-程序员宅基地

技术标签: matlab  MATLAB  

在程序运行时,当出现错误的输入、数据边界值问题或者程序本身有逻辑问题时,当前运行的程序会中断当前运行任务,提前退出运行状态,无法完成既定的任务。在程序中加入错误检查机制,合理处理程序可能出现的异常和错误,确保程序在所有可能条件下都能可靠运行,是现代编程语言的通用处理方式。

在MATLAB中,使用try … catch语句,可以捕获异常并在catch块中处理异常,而不用让程序中断运行,确保程序的可靠性和鲁棒性。

try … catch的语法结构如下:

try
   statements  %try语句块
catch exception
   statements %catch语句块
end

其中:

  • try语句块是程序的业务逻辑。try语句块执行时,一旦出现异常或错误,程序流程会立即进入catch语句块。
  • catch块将当前的异常对象赋值给exception。此处的exception是一个MException对象,用于标识异常或错误信息。
  • 在catch语句块中,我们可以处理这些异常或错误,给出异常和错误处理逻辑,确保程序的按照既定的逻辑运行。

例如,运行以下程序:

A = rand(3);
B = rand(5);

C = A .* B;

disp("程序运行结束。");

程序提前终止运行,并给出错误提示:

对于此运算,数组的大小不兼容。

由于没有对异常进行处理,程序提前终止,语句disp("程序运行结束。")没有正常运行。
为提高程序的可靠性,可在上述程序中加入异常处理,代码如下:

try
    A = rand(3);
    B = rand(5);

    C = A .* B;
catch MException
    disp(MException);
    disp("程序出现了一个错误");
end

disp("程序运行结束。");

程序运行后,给出提示如下:

  MException - 属性:

    identifier: 'MATLAB:sizeDimensionsMustMatch'
       message: '对于此运算,数组的大小不兼容。'
         cause: {
    }
         stack: [1×1 struct]
    Correction: []

程序出现了一个错误
程序运行结束。

可以看出:程序能够正常结束,语句disp("程序运行结束。")正常运行。同时程序的catch块给出了错误提示。
需要注意的是:在这个程序中,仅仅给出了错误提示,并没有处理这个错误。在编写程序时,可以根据MException给出的错误标识和信息,提供对应的处理方式,提高程序的健壮性。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/houor/article/details/121510406

智能推荐

百度离线地图瓦片下载_百度瓦片地图下载-程序员宅基地

文章浏览阅读2.2k次。瓦片简介百度离线地图是由多层级的多张瓦片组成的,存放在titles文件夹下,层级越高,瓦片越多,显示的地图越详细下载的瓦片有png和jpg等格式,我下载的png格式没法用,后面全改成jpg格式就可以了将下载的瓦片按照下载级别放到对应的文件夹下瓦片获取从别的博主那找了两种获取方式1、链接: http://www.xiaoguo123.com/p/baidumap_offline_v2/.从这个链接里边的网盘下载,按照博主的介绍一步步做,一定要看使用前必读,需要按照用前必读改一下百度的密钥这个瓦_百度瓦片地图下载

调Q技术的基本原理-程序员宅基地

文章浏览阅读1.7w次,点赞19次,收藏68次。几分钟复习一下调Q技术~ 基本原理及常见方法详解。复习面试必备!_调q

维护网络服务器安全的七个小技巧-服务器安全资源网-程序员宅基地

文章浏览阅读127次。技巧一:从基本做起***开始对你的网络发起***的时候,他们首先会检查是否存在一般的安全漏洞。因此,当你服务器上的数据都存在一个FAT的磁盘分区的时候,即使安装上世界上所有的安全软件也不会对你有多大帮助的。因此,你需要从基本做起。将服务器上所有包含了敏感数据的磁盘分区都转换成NTFS格式的。同时,可以为Exchange Server安装反病毒软件,将被感染的邮件在到达用户以前..._简述你利用互联网进行资源检索时遇到的问题或是小技巧,列举并上传至活动心得

(太长太全面了)CNN超详细介绍-程序员宅基地

文章浏览阅读1.4w次,点赞19次,收藏214次。原文链接:https://blog.csdn.net/jiaoyangwm/article/details/80011656 文章目录1、卷积神经网络的概念2、 _cnn

【自动化】全球最大手机ODM电子工厂探秘!解密自动化“智造”秘诀_odm厂-程序员宅基地

文章浏览阅读3.6k次。“嘉兴制造”,全球最大手机ODM工厂探秘  在短短的几年时间,闻泰通讯公司从只有三十几个人的设计团队,“蝶变”成为小米、华为、联想等全球知名手机厂商合作伙伴,企业总产值超80亿元。如今,闻泰通讯不仅是南湖区信息产业的龙头企业,更是成为全球最大的手机ODM企业之一,为全球知名手机厂商提供产品定义、方案设计、生产制造、软件开发等服务。……以下是闻泰通讯宣传视频……▼▼闻泰通讯有别于其他设计公司与_odm厂

常规MOS管与超结MOS管的区别及超结MOS管应用领域介绍_超结mos和coolmos区别-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏17次。刚刚有看到一篇文章写的是COOLMOS管与常规MOS管的区别,这是一篇名为《初学者必备知识——功率场效应晶体管MOS管》里面有介绍很多MOS管知识,在这我就不说别的,我们来说说COOLMOS管,因为本公司-深圳市凯泰电子有限公司也有这样的MOS管,但是不叫COOLMOS管,我们的叫超结MOS管(Super Junction MOSFET Series)。下面我先介绍下COOLMOS管与常规MO_超结mos和coolmos区别

随便推点

电脑分辨率是什么_再烂的电脑也能剪视频!5组让Pr不卡的小技巧-程序员宅基地

文章浏览阅读639次。[PConline 技巧]现在做自媒体的朋友越来越多,这其中就要用到视频剪辑软件——Premiere。提起PR,用过的人都知道,除了超级难学之外,它对电脑的要求也很高。尤其当我们剪辑4K这样的高分辨率素材时,常常会让电脑卡得怀疑人生。如何才能让PR不卡呢?嗯……最简单的办法就是升级电脑了。此外我们也可以通过一些简单的设置,让PR稍微流畅一点!1. 降低回放分辨率如果你的视频预览卡顿,首先应该考虑的..._pr视频卡顿怎么变流畅

android程序移植到ios,苹果推出免费Android移植应用Move to iOS-程序员宅基地

文章浏览阅读1.4k次。【天极网IT新闻频道】【Yesky新闻频道消息】 今日凌晨,苹果不仅正式发布了新一代操作系统iOS 9,还发布了一款应用移植工具Move to iOS。据悉,这款应用可以帮助用户将应用由Android迁移到iOS,同时这也是苹果开发的首款Android应用。据了解,Move to iOS是一款免费应用,只支持Android 4.0及更高的Android版本。苹果推出免费安卓应用移植工具Move t..._安卓开发的应用转换为苹果

如何校准Linux服务器时间_linux时间校准-程序员宅基地

文章浏览阅读1.8w次,点赞4次,收藏24次。介绍如何校准Linux服务器时间_linux时间校准

Maven高级-程序员宅基地

文章浏览阅读145次。Maven高级1.基础知识回顾:1.1Maven的核心依赖管理和一键构建(基础知识)1.2Maven仓库类型和仓库关系1.3Maven常见命令:1.4.maven生命周期2.Maven工程导入jar包坐标,必须考虑解决jar包冲突解决jar包冲突的方式一:解决jar包冲突的方式二:解决jar包冲突的方式三【推荐使用】:SSM框架不冲突的依赖包:3.Maven的拆分和聚合思想1.背景:2.工程、模块、项目的关系4.父子工程3种启动方式1.基础知识回顾:1.1Maven的核心依赖管理和一键构建(基础知识)

Unity3d:代码控制shader的自发光的开关_unity shader enablekeyword-程序员宅基地

文章浏览阅读1.2k次。代码控制shader的自发光的开关mat.EnableKeyword("_EMISSION");//开 mat.DisableKeyword("_EMISSION");//关_unity shader enablekeyword

Underscore js是一个JavaScript实用库_unders js-程序员宅基地

文章浏览阅读385次。Underscore.js是一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试Underscore是DocumentCloud的一个开源组件。.._unders js

推荐文章

热门文章

相关标签