尝试和捕获错误/ PHP

时间:2013-07-09 13:38:10

标签: php mysql try-catch

我有以下PHP代码:

try{ 
    $article_ID =$_GET["articleID"];  
    if(!$article_ID) {
        throw new Exception("Invalid query: ". mysql_error());
    }
    else {
        $select_query = mysql_query("SELECT articleContent, articleTitle From articles WHERE articleID=$article_ID AND typeID=$type_ID");
    }
}
catch(Exception $e) { 
    //echo $e->getMessage();
    $select_query = mysql_query("SELECT articleContent, articleTitle From articles       WHERE typeID=$type_ID");
}
$row = mysql_fetch_assoc($select_query); 
echo '<h1>'.$row['articleTitle'].'</h1>';
echo  $row['articleContent'];

if语句中的条件(if(!$article_ID))应该尝试获取get方法中的值,如果它不能,那么它将抛出异常并传递给catch部分,它工作正常,但我看到我的网页中的错误消息,只要它来抓(Notice: Undefined index: articleID on line 6)为什么?以及如何隐藏此消息?

1 个答案:

答案 0 :(得分:1)

通知不会抛出异常。通知在第一行,因为$ _GET数组变量中没有“ArticleID”键。

我认为你可以做这样的事情

$articleID = isset($_GET["articleID"]) ? $_GET["articleID"] : '';