Wenn ich im Code :
sub _DieWithError {
my ( $Self, %Parameter ) = @_;
if ( $Self -> { Objects } -> { 'Kernel::System::Log' } )
{
$Self -> { Objects } -> { 'Kernel::System::Log' } -> Log( Priority => 'Error' ,
Message => $Parameter{ Error } );
}
Carp::croak $Parameter{ Error };
}
das
Carp::croak $Parameter{ Error };
auskommentiere,
erhalten ich mehr Ausgabe der Fehlerverarbeitung :
Ich prüfe nach der Initialisierung der Module ( siehe letzter Post )
ob die Variable
our @ObjectDependencies = ( );
existiert,
also im ( nicht vorhandenen ) "Kernel::System::Falsch" Modul.
Hier die Ausgabe :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Fehler - Details :
Stufe : error
Meldung : Fehler bei der Initialisierung des Moduls Kernel::System::Lo
Identifier : ?LogPrefix?-10
Sub - Routine : Kernel::System::ObjectManager::_DieWithError
Zeile : 205
ERROR : ?LogPrefix?-10 PERL : 5.30.0 OS : MSWin32 Time : Fri May 31 20:17:06 2019
Fehler - Meldung : Fehler bei der Initialisierung des Moduls Kernel::System::Lo
Verarbeitung des Pakets ...
Pruefung der Object - Dependencies ...
Prio : error
Prio - Num : 16
Message : Fehler : Fehler bei der Erkennung der Object - Dependencies fuer Kernel::System::Lo
Caller : 0
Modul : Kernel::System::ObjectManager | Datei : C:\Scripts\Aktuell/Kernel/System/ObjectManager.pm | Zeile : 205 | Sub - Routine : Kernel::System::Log::Log
Modul : Kernel::System::ObjectManager | Datei : C:\Scripts\Aktuell/Kernel/System/ObjectManager.pm | Zeile : 136 | Sub - Routine : Kernel::System::ObjectManager::_DieWithError
Lade Sys - Log Parameter
Lade Parameter $_[ 0 ] : Kernel::System::ObjectManager=HASH(0x6ba6e8)
Lade Parameter $_[ 1 ] : Kernel::Config
Rueckgabe des Objekts ...
Fehler - Details :
Stufe : error
Meldung : Fehler : Fehler bei der Erkennung der Object - Dependencies fuer Kernel::System::Lo
Identifier : ?LogPrefix?-10
Sub - Routine : Kernel::System::ObjectManager::_DieWithError
Zeile : 205
ERROR : ?LogPrefix?-10 PERL : 5.30.0 OS : MSWin32 Time : Fri May 31 20:17:06 2019
Fehler - Meldung : Fehler : Fehler bei der Erkennung der Object - Dependencies fuer Kernel::System::Lo
Zuweisung der Object - Dependencies ...
Abschliessende Erstellung des Objekts ...
------------------------------------------------------------------------------------------------------------
Can't locate object method "new" via package "Kernel::System::Lo" at C:\Scripts\Aktuell/Kernel/System/ObjectManager.pm line 172.
Wenn das Programm weiterlaufen soll, auch bei fehlerhaften Modulen, ist ja eigentlich richtig, dass er den Schritt mit
dem Laden der Objectabhängigkeiten auch noch macht, oder ?
Ich weiss nur nicht, ob die Erstellung des Objects dann ins leere läuft ?
Die Meldung "Can't locate object method "new" via package "Kernel::System::Lo" at C:\Scripts\Aktuell/Kernel/System/ObjectManager.pm line 172."
würde ich gerne komplett unterdrücken, komme aber nicht drauf, wie.
Viele Grüße
YAPD
Yet Another Perl Developer