How to stop a script if conditions are met.
    874 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Cory
 el 2 de Feb. de 2012
  
    
    
    
    
    Comentada: Paul
 el 23 de Sept. de 2025
            I am using the 'if' function to detect if a user inputs a number that is not 5 digits long. What I would like is a function that stops the script if a certain condition is met without displaying an error message.
P.S. I'm very new to MATLAB.
2 comentarios
  Jingyang Xie
 el 6 de En. de 2021
				Hi Cory, have you solved this problem? I think I encountered the same problem...
  Paul
 el 23 de Sept. de 2025
				A simple way to stop execution in MATLAB without throwing an error is to use the return or break statements, depending on whether the code is inside a function or loop. This prevents unwanted error messages and keeps the script clean.
Respuesta aceptada
  Walter Roberson
      
      
 el 2 de Feb. de 2012
        
      Editada: MathWorks Support Team
    
 el 9 de Nov. de 2018
  
      9 comentarios
  Muhammad Usman Saleem
      
 el 5 de Nov. de 2022
				Respected Sir @Walter Roberson, I not get the point your shared. Will you please amend this suggestion in my code shared above please?
  Walter Roberson
      
      
 el 5 de Nov. de 2022
				notdone = true(9,1);
while any(notdone)
    if  rcp(i,m)<0.1 & trcp(i,m) > 0.8
    ECP{i,m}=Ecp{i,m};
    notdone(1) = false;
  end
  if  recp(i,m)<0.1 & trecp(i,m) > 0.8
    ECN{i,m}= Ecn{i,m};
    notdone(2)=false;
  end
%etc
end
Más respuestas (2)
  Hamid Ramezani
      
 el 30 de Sept. de 2019
        you may use "error" function instead of return 
3 comentarios
  Adam K
 el 10 de Dic. de 2020
				
      Editada: Adam K
 el 10 de Dic. de 2020
  
			I think a 'msgbox' to really alert the user what is the issue, and then the 'error' funcition to stop the code would be a workaround.  This way the user is aware that the issue is not really an 'error' when they see the red error font.
msg = "You've got a number that is not 5 digits long";
f = msgbox(msg)
error(msg)
  Rik
      
      
 el 10 de Dic. de 2020
				I wonder if it is possible to detect if the code is running in a try block. In such cases the message might be more confusing than simply throwing the error.
  Korosh Agha Mohammad Ghasemi
 el 25 de Jun. de 2024
        
      Movida: Voss
      
      
 el 25 de Jun. de 2024
  
      To stop a script in MATLAB without displaying an error message when a user inputs a number that is not 5 digits long, you can use the return function. The return function will exit the function or script without an error message. Here is an example:
% Request user input
userInput = input('Please enter a 5-digit number: ', 's');
% Check if the input is 5 digits long
if length(userInput) ~= 5
    fprintf('Input must be a 5-digit number. Exiting script.\n');
    return;
end
% Continue with the rest of your script
disp('Input is valid. Continuing script...');
% ... rest of your script
Explanation:
- Request User Input: Use input to get the user input as a string.
- Check the Length: Use length to check if the input length is not equal to 5.
- Return Function: Use return to exit the script if the condition is met, and display a message using fprintf.
This will ensure that the script stops if the user input is not a 5-digit number, and it will do so without throwing an error.
0 comentarios
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!










