![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.10.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Problem wygląda następująco:
Piszę instalator do systemu CMS. Instalator ma testować dane do połączenia z bazą danych. Sęk w tym, że chce zeby w razie błędu połączenia nie wywalało mi komunikatu serwowanego standardowo przez php ale zeby strona normalnie wię wyświetliła z moim komunikatem błędu W MIEJSCU W KTÓRYM JA CHCE a nie na początku strony. 1. ... or die(...); - odpada bo nie wyświetli mi strony z formularzem i danymi 2. trigger_error("text", E_USER_ERROR) - no ok, zmienilem komunikat ale efekt wciaz nie ten, ciagle wywala Warning: mysql_connect(): Access denied for user: 'test@localhost Więc pytanie do ambitnych: jak to zrobić? --------------------------------------------------- No i zrobiłem - działa, choć na pewno da się to zrobić lepiej:
a dalej w tekście strony: Niemniej czekam na Wasze propozycje i uwagi. ![]() Ten post edytował Birkoff 17.10.2005, 12:01:53 -------------------- Webcoder
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 2 Dołączył: 24.08.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ja bym wstawil error_reporting(0); na samym poczatku no i funkcje tak jak ty poprzedził @ i powinno nie wyzucac juz bledow
-------------------- Copyright by Darecki Wszystkie prawa zastrzeżone
TanioNaRybki.pl |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@Birkoff Pomyśl o wykorzystaniu wyjątków, to jest najlepsze wyjście i zresztą wyjątki do tego są właśnie stworzone.
@darecki tak właśnie powstają skryptu wolne i źle napisane. Ukrycie i stłumienie wszystkich błędów to ucieczka od problemu a nie jego rozwiązanie. Nie powinno się uprawiać takich praktyk. Nie wiem czy wiesz ale skrypty, które generują dużo błędów (choć wcale nie musi ich być dużo) nawet takich, które zostają stłumione poprzez @ i niewyświetlone dzięki error_reporting() potrafią wykonywać się do 30% dłużej. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 2 Dołączył: 24.08.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mike_mech nie mowie tu o tym aby odrazu wstawiac i tlumic bledy jak by ich nie bylo mam na mysli wykonanie skryptu z obsluga bledow i jezeli juz mamy pewnosc ze jest oki i uruchamiamy skrypt na sieci to w ostatnim etapie (przed wzuceniem na ftp-a) wstawienie error_reporting
-------------------- Copyright by Darecki Wszystkie prawa zastrzeżone
TanioNaRybki.pl |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Temat bardzooo stary, ale muszę go odkopać
![]() O co chodzi? Mianowicie do obsługi błędów (w prostym skrypcie, który właśnie piszę) postanowiłem użyć set_error_handler() + trigger_error() (właściwie to ten sposób używam pierwszy raz :]).No i wszystko jest ładnie, z jednym małym wyjątkiem (zademonstruję na prostym przykładzie) No i taki oto błąd jest generowany: Cytat mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'localhostAA' (11001) I tutaj moje pytanie. Jak "aktywować" operator @ w przypadku korzystania z powyższego skryptu? jakis komunikat (ladny) ![]() PS. W manualu nic nie znalazłem ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat PS. W manualu nic nie znalazłem Kiepsko szukales:http://pl.php.net/manual/pl/function.set-error-handler.php Cytat however you are still able to read the current value of error_reporting and act appropriately. Of particular note is that this value will be 0 if the statement that caused the error was prepended by the @ error-control operator. i w twojej funkcji walisz:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Coż... jedyne co może mnie chyba teraz opisać to to. Ide pouczyć się czytać ze zrozumieniem :/
Dzięki i pozdrawiam, |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 04:07 |