| |
|
|
| | Чтото не нашёл как посредством пхп
узнать в какой строке произошла ошибка.
Тоесть если была ошибка генерируется переменная $php_errormsg
Только в ней сам текст ошибки, а ещё нужно чтоб было сказано в какой строке призошла ошибка.
Чёт я не нашёл подходящей функции. | |
| |
|
|
| |
|
|
| |
для: valenok
(27.06.2006 в 11:11)
| | | Для этого предназначена предопределённая константа __LINE__ | |
| |
|
|
| |
|
|
| |
для: cheops
(27.06.2006 в 12:10)
| | | Здорово. Я очень рад что она существует.
Но она по крайней мере - сейчас, мне не нужна. (Или я ей не научился пользоваться.)
<?
echo $a;
// Undefined variable a in script on line 2
//
//
#
#
#
#
#
echo $prp_errormsg." on line ".__LINE__;
// Undefined variable a in script on line 22
Вы же не предлагает порверять на наличие ошибок после каждой строчки кода..
|
Мне нужна строка в которой произошла ошибка. | |
| |
|
|
| |
|
|
| |
для: valenok
(28.06.2006 в 00:54)
| | | Как я понял, тут надо использовать функцию set_error_handler();
Она устанавливает пользовательскую функцию для обработки ошибок.
Синтаксис:
string set_error_handler(string $error_handler[, int $error_types])
$error_handler - имя функции
$errr_types - типы ошибок (по умолчанию - все)
|
функция должна принимать 5 параметров и возвращать булевовское значение.
пример:
<?php
/* функция set_error_handler не может обрабатывать следующие ошибки (т.к. они слишком серьёзные): E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE */
set_error_handler('my_error_handler');
function my_error_handler($errorcode, $errorstring, $filename, $lineno, &$vars) {
print "Ошибка ($errorcode) $errorstring в файле $filename на строке $lineno.<br>
Значения переменных:<br>
<pre>";
print_r($vars);
print '</pre>';
return true;
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: ЯR
(28.06.2006 в 02:21)
| | | Спасибо.
<?php
// set the error reporting level for this script
error_reporting(E_USER_ERROR | E_USER_WARNING | E_NOTICE);
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
switch ($errno) {
case E_USER_ERROR:
echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
echo " Fatal error in line $errline of file $errfile";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;
case E_USER_WARNING:
echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
break;
case E_USER_NOTICE:
echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
break;
default:
echo "Unkown error type: [$errno] $errstr<br />\n";
break;
}
}
// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");
function sss($var){echo $sdasd;}
sss(1);
?>
|
Всё равно не вернул мне строку с ошибкой. | |
| |
|
|