У меня есть скрипт Ruby, который принимает Дамп базы данных PostgreSQL с удаленного сервера . Скрипт принимает динамический ввод для: пароля, имени пользователя, хоста и имени_базы_данных. Таким образом, есть вероятность, что пользователь может ввести неправильные данные для этих полей. В случае неправильного ввода я получаю фатальную ошибку как
pg_dump: [archiver (db)] подключение к базе данных "sc_development1"
Сбой: FATAL: база данных "sc_development1" не существует
в случае неправильной базы данных, пока мы делаем как,
system("PGPASSWORD="#{source_postgres_password}" pg_dump -U "#{source_postgres_username}" -h "#{source_host}" "#{source_database_name}" > "#{store_backup_file_path}/#{timestamp}/#{source_database_name}".sql")
В настоящее время я занимаюсь этим, проверяя $?
, чтобы получить статус процесса, но я хочу больше Я хочу получить точное сообщение об ошибке Fatal для печати в файле журнала. Как это сделать?
Я хочу напечатать точное фатальное сообщение об ошибке, которое я вижу в терминале, откуда я запускаю скрипт, в файл журнала.
Есть ли способ дать мне информацию о фатальной ошибке. Я знаю, что в Ruby невозможно спасти фатальную ошибку. Когда я читаю this , я могу напечатать свое собственное сообщение, которое обрабатывается в случае фатальной ошибки, но это не то, что я хочу. Я хочу точное сообщение о фатальной ошибке.