Как обрабатывать исключения из библиотеки времени? - PullRequest
1 голос
/ 22 сентября 2019

В настоящее время я работаю над проектом, в котором важно продемонстрировать, как должна вести себя программа в случае возникновения ошибки.В этом случае я хочу, чтобы моя программа исключала любые ошибки, которые могут быть вызваны неудачным вызовом time.localtime().

Я понимаю, что подобная ошибка крайне маловероятна.Независимо от того, я хотел бы охватить все возможности.Поэтому, какой тип ошибки произошел бы, если бы моя программа не смогла получить ответ от time.time() или time.localtime()?

try:
   time = time.time()
except #nameoferror:
   print ("Unable to get current time")

Чем я мог бы заменить "#nameoferror", чтобы вывести сообщение, еслифункция времени не удалась?

1 Ответ

1 голос
/ 22 сентября 2019

РЕДАКТИРОВАТЬ: Я рекомендую вам проверить этот пост / ответ .

Это интересный вопрос!Обычно, когда вы пишете попытку / исключение, вы ловите тип исключения, которое будет выдано, если произойдет ожидаемая ошибка (как я думаю, вы уже знаете).

Например: допустим, у нас есть переменная var1, и она равна строковому значению "hello".Если вы запустите var2 = int(var1)), Python выдаст исключение ValueError.Поскольку вы можете этого ожидать, вы можете написать что-то вроде:

var1 = "hello"

try:
    int(var1)
except ValueError:
    print("Invalid casting attempt on non-numeric value.")

В вашем случае вы имеете дело с чем-то, что вряд ли (если вообще когда-либо) произойдет.Для обработки таких случаев вы можете написать общую обработку except.Таким образом, вы не ловите исключение определенного типа.Вы ловите любое исключение, которое может быть сгенерировано в результате попытки логики.

Пример:

var1 = "hello"

try:
    time = time.time()
except:
    print("Error occurred during try statement.")
    # return value if this is part of a function/handling of your choice

Возможно, у других будет лучший пример, но именно так я бы обработал исключение, если не уверен, какой конкретный тип может быть выдан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...