La différence entre les deux types d'erreur se voit en fonction du moment où apparait l'erreur.
Si ça apparait lors de la compilation, alors c'est une erreur de compilation.
Si ça apparait lors de l'exécution, alors c'est une erreur d'exécution.
Quand vous avez compilé votre programme, vous avez dû voir si l'erreur était signalée ou pas.
Idem, quand vous l'avez exécuté.
C'est tellement évident que j'ai l'impression que votre question ne vient pas de vous mais d'un professeur.
Dans ce cas, sachez que l'on ne fait pas les devoirs à la place des autres, parce que cela pourrait défavoriser les autres élèves, et surtout parce que vous n'apprendrez rien si vous ne cherchez pas vous-même.