Du musst parameter schon durch die Parameter ersetzen:
function my_error_handling($fehlerlevel, $fehlermeldung, $fehlerfile, $fehlerline) {
Ohne dir zu nahe treten zu wollen, solltest du vielleicht noch einmal die Grundlagen anschauen 
 
// edit
Die funktion answer ist auch total kaputt... Mom ich verbessere einfach mal en gesamten Code, das geht schneller
// edit2
Wei gesagt, du solltest noch einmal die Grundlage anschauen. Ich habe nur Syntaxfehler verbessert
<!-- Hier beginnt der MySQL-Zugriff -->
<?php
$conn = @mysql_connect("localhost", "", ""
or die("Verbindung zum Datenbankserver gescheitert!" ;
;
@mysql_select_db("freehost_2277_1" or die("Datenbankzugriff gescheitert!"
 or die("Datenbankzugriff gescheitert!" ;
;
$Datenbank = freehost_2277_1
?>
<!-- Hier endet der MySQL-Zugriff -->
<!-- Variablen für das Feedback -->
<?php
$admin_mail = ""
?>
<!-- Weiterleitung bei einem fehler -->
<?php
function my_error_handling($fehlerlevel, $fehlermeldung, $fehlerfile, $fehlerline) {
	header('Location: error/error.php' ;
;
}
set_error_handler('my_error_handling' ;
;
    class bsp {
    
        var $error;        
        
        # funktion wo was passiert
        function test () {
            if (0) {
                //mach was
            }
            else {
                # wie übergeb ich den fehler an die function 'error'?
                $error.= '<br />irgendeinfehler ist passiert!';
            }
        }
        
        # funktion falls error
        function error ($error) {
            $this->error = $error;
            
            if ($error) {
                $error_out = '<b>error:</b>';
                $error_out.= $error;
            }
        }
    function answer () {
  	  $this->question = $question;
  	  $this->answer = $answer;
 
	  if ($this->question != $this->answer) {
	   trigger_error('fehlermeldung und weiterleitung' ;
;
	  }
    }
}
?>