Latest web development tutorials

obsługa błędów Perl

Program działa, zawsze napotykają wiele błędów, takich jak otwarcie pliku, który nie istnieje.

Program jest uruchomiony zostanie zatrzymane, jeśli wystąpi błąd, musimy użyć kilka metod, aby uniknąć błędów wykrywania, zapobiegając w ten sposób wyjść programowych.

Perl zawiera błąd wieloprocesowoÊç wykonane w sposób, wtedy wprowadzono jeden po drugim.


if

jeżeli oświadczenie może określić wartość zwracaną rachunku, przykłady przedstawiają się następująco:

if(open(DATA, $file)){
   ...
}else{
   die "Error: 无法打开文件 - $!";
}

Program zmienna $! Zwracany jest komunikat o błędzie. Możemy również uprościć powyższy kod do następującego kodu:

open(DATA, $file) || die "Error: 无法打开文件 - $!";

chyba funkcji

chyba że funkcja jeśli natomiast tylko wtedy, gdy wyrażenie zwraca fałsz będzie realizowany w następujący sposób:

unless(chdir("/etc")){
   die "Error: 无法打开目录 - $!";
}

chyba deklaracji, kiedy chcesz ustawić błąd przypomnienia jest bardzo przydatna.Co mogę być również skrótem powyższego kodu:

die "Error: 无法打开目录!: $!" unless(chdir("/etc"));

Powyższy komunikat o błędzie tylko wtedy, gdy okoliczności zmienią wyjście błędu katalogu.


operator trójargumentowy

Poniżej znajduje się prosty przykład operatora potrójnego:

print(exists($hash{value}) ? '存在' : '不存在',"\n");

Powyższe przykłady używamy operatora potrójny aby określić wartość hash istnieje.

Przykłady zawarte wyraz dwóch wartości, formatjest :? A wartość wyrażenia: Wartość II.


funkcja ostrzegania

Funkcja ostrzegania służy do wyzwalania komunikat ostrzegawczy, żadnej innej operacji, wyjście na stderr (standardowym pliku wyjściowego), zazwyczaj używany do monitowania użytkownika:

chdir('/etc') or warn "无法切换目录";

funkcja die

Funkcja matrycy jest podobna, aby ostrzec, ale to będzie wyjście. Zazwyczaj z głośnych komunikatów wyjściowych hałas:

chdir('/etc') or die "无法切换目录";

moduł karp

W skrypcie Perl, powszechnie stosowaną metodą jest użycie w raporcie o błędzie ostrzegają () or die () do generowania raportów lub błędów. Dla modułu karp, który może generować komunikaty w celu zapewnienia dodatkowych poziomów kontroli, zwłaszcza wewnątrz modułu.

Standardowy moduł Karp zapewnia ostrzec () i die () funkcja jest alternatywą, dostarczają one więcej informacji w zakresie świadczenia niewłaściwym pozycjonowaniem, a bardziej przyjazny. Gdy stosuje się w module, komunikat zawiera nazwę modułu i liczby linii.

funkcja karpia

Funkcja karpia wyjście może śledzić informacje na temat programu, podobnie jak funkcja ostrzegania będzie normalnie wysyłać informacje na stderr:

package T;

require Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/function/;
use Carp;

sub function {
   carp "Error in module!";
}
1;

W skrypcie zwraca następującą procedurę:

use T;
function();

Powyższy program, wyjście jest:

Error in module! at test.pl line 4

funkcja gdakanie

gdakanie () i ostrzec () jest podobna, pod warunkiem, że błąd na stosie powrotem śladu.

package T;

require Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/function/;
use Carp qw(cluck);

sub function {
   cluck "Error in module!";
}
1;

W skrypcie zwraca następującą procedurę:

use T;
function();

Powyższy program, wyjście jest:

Error in module! at T.pm line 9
	T::function() called at test.pl line 4

funkcja rechotać

rechot () i die (), ponieważ może skończyć scenariusz.

package T;

require Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/function/;
use Carp;

sub function {
   croak "Error in module!";
}
1;

W skrypcie zwraca następującą procedurę:

use T;
function();

Powyższy program, wyjście jest:

Error in module! at test.pl line 4

funkcja wyzna

wyzna () i die () jest podobna, ale oferuje od błędu stosu powrotem śladowego.

package T;

require Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/function/;
use Carp;

sub function {
   confess "Error in module!";
}
1;

W skrypcie zwraca następującą procedurę:

use T;
function();

Powyższy program, wyjście jest:

Error in module! at T.pm line 9
	T::function() called at test.pl line 4