Try using RAISE_APPLICATION_ERROR
instead of DBMS_OUTPUT.PUT_LINE
in your code.
CREATE OR REPLACE TRIGGER ABSENCE_VIOLATION
BEFORE INSERT ON APPOINTMENT
FOR EACH ROW
DECLARE Absences NUMBER (1);
BEGIN
Select COUNT(app_attendance) INTO Absences
FROM appointment
WHERE app_attendance = 'N' AND Stu_ID = :NEW.Stu_ID;
IF Absences >= 5 THEN RAISE_APPLICATION_ERROR(223, 'Student Exceeds Absence Violations');
END IF;
END;