2012-03-22 3 views
1

я использую ниже код - Just try again. - для предотвращения тупика.попытаться поймать проблему с тупиком

Кажется, что код идет, чтобы поймать часть query2, выполненную перед запросом1.

и я вижу этот вывод «query2 run before query 1»; это правда?

try 
    { 
    $query1="...."; 
    } 
    catch 
    { 
    $query1="....";//repeat query1 in try 
    $t1=microtime(); 
    } 
    $query2="...."; 
    $t2=microtime(); 
    if ($t2<$t1) 
{ 
echo "query2 run before query 1"; 
} 

ответ

2

Нет, это не так

echo '1'; 
try { 
echo '2'; 
throw new Exception; 
} catch (Exception $e) { 
echo '3'; 
} 

echo '4'; 

// Prints 1234 
+0

кажется перекидной запрос исключение сам – shayan

+0

, если ваш 'query1' внутри блока улова бросает еще одно исключение не будет пойман. –

+0

похоже не делает. но, похоже, запрос 2 выполняется до запроса1 в блоке catch. Я тестирую его с помощью microtime(); – shayan

Смежные вопросы