fanuc controllers have a geometry and a wear offset this is why there are 2 system variables
You need them before the G43 tool length call as on the same line the tool is going to make a Z axis movement to the pc. it makes no sense to check after the crash
you should also have it after the tool call (M6Txx) as a tool offset can be made while the program is running
This keeps the operator from making a large change to the tool geometry and wear offsets during the running of the program
You could put it at the beginning of the program and that is where the check will be done which bring us back to the previous sentence
all this is is a check during the program that will stop the machine if the operator did a offset larger than the check allows.
if a geometry/wear offset exceeded the amount set in the program in the example above #10001+#11001 -8.8 can be no greater than .100 in either direction of 8.800".(8.900-8.700 in length)
this usually slows the crash down to the feed rate of going into the cut (instead of 1200-1400 ipm "G0" the feed is usually in the 50 ipm range here is where you could if the option was purchased (DRDOS mentioned load detection) might be able to stop the crash