У меня есть проект, который мне нужно запустить, и я понятия не имею, как реализовать пользовательские исключения. Это, в основном, сложные научные функции, чтобы они были расплывчатыми.Python - реализация пользовательских исключений
В основном это будет сбор исключений, если что-то не установлено. Мне дали это в качестве стартового примера из runnables.
# Define a class inherit from an exception type
class CustomError(Exception):
def __init__(self, arg):
# Set some exception infomation
self.msg = arg
try:
# Raise an exception with argument
raise CustomError('This is a CustomError')
except CustomError, arg:
# Catch the custom exception
print 'Error: ', arg.msg
Я понятия не имею, как это должно работать или как я намерен реализовать свой код. Это не очень ясно.
Чтобы дать общее представление, которое необходимо создать.
В функции:
if self.humidities is None:
print "ERROR: Humidities have not been set..."
return
Видимо это нужно поднять/бросить исключение вместо этого.
В чем вопрос? Ваш первый пример кода выглядит просто отлично (кроме ошибки идентификации). Есть кое-что для улучшений (fx вызывает супер '__init__' в конструкторе). – skyking
Ну, 'class CustomError (Exception)' реализует настраиваемое исключение, 'raise CustomError()' вызывает его, 'except CustomError' ловит его. Что именно неясно в этом? Что * ты * знаешь, что * ты не знаешь? – deceze
Идея в основном сложная неопределенная, но явно не явная. –