If you want to explicitly leave early in order to avoid including all the code in the block :If, you can do something like:
r←TESTER Q
:If 0≢⊃0⍴⊂Q ⍝ Q not a simple scalar number
:OrIf Q≢⌊Q ⍝ Q not an integer
r←'Not Possible'
→0
:EndIf
r←'Possible'
This works using APL prototypes:
⊂Q Q .
0⍴ .
⊃ , Q, , , , . , Q , 0, .
!
, , , ( ), , , . :
r←TESTER Q
:If 0≢⊃0⍴⊂Q ⍝ Q not a simple scalar number
:OrIf Q≢⌊Q ⍝ Q not an integer
'Not Possible'⎕SIGNAL 11
:EndIf
r←'Possible'
!
⎕SIGNAL ( ) , - . 11 - DOMAIN ERROR, .
, :Try, . - , Dyalog APL, :
:Trap 4 5 6 10 11 16
code to try goes here
:CaseList 4 5
handling of rank and length errors go here
:Case 6
handling of value errors goes here
:Else
all other trapped errors are handled here
:EndTrap
untrapped errors will throw as usual
, . (:Try - , APLX.)