![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam własną klase DB próbuje do niej dorobić obsługe błędów.
chciałem żeby wraz zwykonainiem błędu był zwracany bład, numer lini z błędem i plik. oczywiście moge to osiągnąć przez przesyłanie __LINE__ i __FILE__ wraz z wywołaniem każdej operacji, ale czyjest możliwe żeby w jakiś sposób pobierać te dane dopiero w przypadku powstania bedu już w klasie? ![]() [php:1:7cca7ab095]<?php class DB{ ..... function del($tabela,$warunek=""){ $sql="DELETE FROM ".$tabela." WHERE ".$warunek; if (mysql_query($sql)){ return true; }else{ $this->_error(); return false; } } function _error(){ $this->error[]=mysql_errno(); } } $db = new DB('localhost','***','***','***'); $db->del('test',"a='g'"); ?>[/php:1:7cca7ab095] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Podejrzałem kod AdbDb V4.00 i tam jedyne co jest w ErrorMsg(); to zawartość mysql_error().
Ale może jest jakis sposób |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 6.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam ten sam problem. Jak dam __LINE__ w klasie to mi pokazuje w ktorym miejscu w klasie blad wystapil. Jednym chyba rozwiazaniem jest sprawdzac czy sa bledy w danym skrypcie a nie w klasie. No chyba ze nie tak bardzo zalezy ci na __LINE__ i __FILE__.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
zawsze można dać :
[php:1:ab86faa40f]<?php $db->del('test',"a='g'",__LINE__,__FILE__); ?>[/php:1:ab86faa40f] ale może da sie to zrobć żeby nie trzeba było tego przekazywać tylko potem w klasie jakoś tą wartość pobrać |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 3.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mugłbyś sprubować napisać obsługe zastępującą orginaną z php, a wtedy zgłaszać błędy przez trigger_error, ale to by nie obsługiwąło błędów tylko w klasie, ale w całym skrypcie...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
trigger_error:
Kod It only works with the E_USER family of constants
wiec niestety odpada. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Może tutaj coś dla siebie znajdziesz.
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
niestety własny set_error_handler() zwraca libie z błędem w klasie a nie w pliku.
A czy jest jakiś sposób podejrzenia w której lini została wywołana dana metoda ostatnio ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.07.2025 - 23:59 |