Consider i execute a method \'Method1\' in C#. Once the execution goes into the method i check few condition and if any of them is false, then the execution of Method1 shou
You could setup a guard clause with a return statement:
public void Method1(){
bool isOK = false;
if(!isOK) return; // <- guard clause
// code here will not execute...
}
Use the return
statement.
if(!condition1) return;
if(!condition2) return;
// body...
Are you talking about multi threading?
or something like
int method1(int inputvalue)
{
/* checking conditions */
if(inputvalue < 20)
{
//This moves the execution back to the calling function
return 0;
}
if(inputvalue > 100)
{
//This 'throws' an error, which could stop execution in the calling function.
throw new ArgumentOutOfRangeException();
}
//otherwise, continue executing in method1
/* ... do stuff ... */
return returnValue;
}
There are a few ways to do that. You can use return
or throw
depending if you consider it an error or not.
I think this is what you are looking for.
if( myCondition || !myOtherCondition )
return;
Hope it answered your question.
If you want to exit the method due to an error you can throw an exception like this:
throw new Exception( "My error message" );
If you want to return with a value, you should return like before with the value you want:
return 0;
If it is the Exception you need you can catch it with a try catch in the method calling your method, for instance:
void method1()
{
try
{
method2( 1 );
}
catch( MyCustomException e )
{
// put error handling here
}
}
int method2( int val )
{
if( val == 1 )
throw new MyCustomException( "my exception" );
return val;
}
MyCustomException inherits from the Exception class.