戻る

エラーメッセージを無視するには(参考)

error_reporting()関数 @(エラー制御演算子)

PHPのスクリプトを実行すると、文法エラーや実行時エラーなど、さまざまなエラーメッセージや警告メッセージが表示されることがあります。これらPHPが発するエラーメッセージは、プログラムによってその表示を制御することができます。

error_reporting()関数を使う方法

エラーが発生する可能性がある行の前に、次の命令(上行)を記述します。それ以降はすべてのエラーメッセージが表示されなくなります。この設定を解除するには、下行の命令を記述します。

error_reporting(0) → エラーメッセージを表示しなくなる
error_reporting(E_ALL) → エラーメッセージを表示する

この方法を使うと、開発時やデバッグ時に必要なエラー情報も表示されなくなってしまうので、限定された場面で利用するのが用意でしょう。

エラー制御演算子「@」を使う方法

エラーが発生する可能性がある関数名の直前にエラー制御演算子「@」を記述することによって、その関数によって発生したエラーを無視できます。

@rmdir("test")

ここでは、rmdir()関数を使ってtestディレクトリを削除しようとしています。そのディレクトリが存在しない場合はエラーメッセージが表示されます。そこで、上記の2つの方法でエラーメッセージの表示を止めています。この例では1回目と3回目のrmdir()関数実行時だあけ、エラーメッセージが表示されています。

<?php
header("Content-type: text/html; charset=utf-8");

//testディレクトリを削除
echo "テストケース1<br>";
rmdir("test");

//エラーレベルを下げて再実行
echo "テストケース2<br>";
error_reporting(0);
rmdir("test");

//エラーレベルをもとに戻して再実行
echo "テストケース3<br>";
error_reporting(E_ALL);
rmdir("test");

//エラー制御演算子を使って再実行
echo "テストケース4<br>";
@rmdir("test");
?>

inserted by FC2 system