За последние 24 часа нас посетили 22392 программиста и 1029 роботов. Сейчас ищут 690 программистов ...

Проверить объект php

Тема в разделе "PHP для новичков", создана пользователем beginner2020, 12 окт 2020.

  1. beginner2020

    beginner2020 Новичок

    С нами с:
    12 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    Есть скрипт проверки IP по базе:
    php-5.3.3:
    Код (Text):
    1. <?php
    2. require_once 'vendor/autoload.php';
    3. use GeoIp2\Database\Reader;
    4.  
    5. // This creates the Reader object, which should be reused across
    6. // lookups.
    7. $reader = new Reader('/usr/local/share/GeoIP/GeoIP2-ISP.mmdb');
    8.  
    9. $record = $reader->isp('128.101.101.101');
    Вот если указать вместо 128.101.101.101 IP, который не существует в базе, то скрипт вылетает по ошибке:
    PHP Fatal error: Uncaught exception 'GeoIp2\Exception\AddressNotFoundException' with message 'The address IP is not in the database.
    Подскажите как сделать проверку, чтобы скрипт не вылетал по несуществующему IP в базе
    Спасибо.
     
    #1 beginner2020, 12 окт 2020
    Последнее редактирование: 12 окт 2020
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Try/catch ?
     
  3. beginner2020

    beginner2020 Новичок

    С нами с:
    12 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    мне бы кусок кода! я пробовал через isset, но почему-то не работает. emty тут не подходит. Я не очень дружу с ООП
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Главное - дружить с головой. Что искать я подсказал, можно и нагуглить...
    ООП там и не пахнет...
    Не хотите/не можете сами - закажите на фрилансе
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Вот кусок кода. В вопросе - причина обращения. Не перехваченное исключение... В ответе - объяснена причина, почему исключение не было перехвачено :)
    Но можно использовать не общий \Exception, а конкретный: GeoIp2\Exception\AddressNotFoundException
    --- Добавлено ---
    Ещё с операторными скобками там напутано. Лишняя закрывающая одна
    --- Добавлено ---
    Подробнее про исключения.