MrMitchell was pretty explicit.  If you can create a function, you should understand what it means to put another call into one. 
  
pseudo: 
 For $i = 1 To 10 ; loop 10 times to see if you get diff msgbox
    ; Action Below
    _MyActionFunc()
    If @error Then
        ; this means that my check func returned false
        MsgBox(16 + 262144, "Error", "_CheckSomethingFirst() returned False")
    EndIf
Next
Func _MyActionFunc()
    ; now I want to go to another func first
    If _CheckSomethingFirst() = False Then
	    ; Here I've created a condition to do something in case my checking function fails
	    ; don't do anything else, just return
	    Return SetError(1, 0, 0)
    EndIf
    MsgBox(64, "Success", "See you made it here")
    Return 1
EndFunc
Func _CheckSomethingFirst()
    Local $a_arr[2] = [False, True]
    Return $a_arr[Random(0, 1, 1)]
EndFunc