Matlab does not return an error when variable does not exist.

7 views (last 30 days)
Hello everyone. Hope someone can help:
I call a variable that does not exist (in Editor) and I do not get an error message. in the Command Window.
Did I disable this capability by mistake?
  4 Comments
Alvaro Chaveste
Alvaro Chaveste on 19 Feb 2022
This is the piece of code calling variable "modFracts" that is not in the workspace. Variable "propMain" does exist.
___
who propMain
who modFracts
propMain = char(propMain); propSec = char(propSec);
valMain = num2str(modFracts(handles.ILXLPlt),3);
stop
____
Following is what I see in the "Command Window"
___
Your variables are:
propMain
>>
___

Sign in to comment.

Accepted Answer

Alvaro Chaveste
Alvaro Chaveste on 19 Feb 2022
I've found out what the issue was.
The function where errors were not reported was called from another (main) program. It was called within a try-catch-end,
MATLAB apparently disables the error messages within the try-catch and routines run within it.
.
  1 Comment
Image Analyst
Image Analyst on 19 Feb 2022
We could have told you that if you had shared the actual code instead of unrelated snippets. When there is an error, control passes to the catch block. But if in that block you choose not to do anything with the error (like print it out or whatever), then nothing happens - it just continues on with the line of code after the "end" of the catch block.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 19 Feb 2022
So you're saying that modFracts does not exist and when you do
who modFracts
it does not echo anything to the command window. That is normal. If it doesn't exist, it doesn't write anything to the command window. However if you do
modFractsCopy = modFracts;
it should throw an error because you're trying to reference/use it. Does it throw an error?
Try adding an s:
whos
and tell us what it shows.
  6 Comments
Alvaro Chaveste
Alvaro Chaveste on 19 Feb 2022
Sorry for bombarding you with information. Your support is appreciated.
It looks like the issue goes beyond not throwing an error when a variable is not defined. It looks like it is not threowing error messages at all.
In the code image (attached), the program goes past "test 1". then it should give an error since "stopx" is not valid. It does not.
Image Analyst
Image Analyst on 19 Feb 2022
Edited: Image Analyst on 19 Feb 2022
We can't run images, only code as text. Will check back later. Make it easy for us to help you, not hard.

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!