I dont remember the exact moment but the truncate goes off on either the activation or validation of the step during the transformation execution. It means it doesnt matter if at some point it fails to insert, the table gets truncated before the error (unless the error is related to accessing the table itself)!
To give you an idea you can have a table truncated, and a parcial dataset inserted on it before the error!