Форум сайта python.su
0
в общем, только начал изучать python.
сут в следующем, например, есть на php такой код
if($this->id == 0) throw new Exception('ERROR: your ID is empty'); elseif($this->balance == 0) throw new Exception('ERROR: your BALANCE is empty'); elseif(mb_strlen($this->name) == 0 or $this->name == '') throw new Exception('ERROR: your NAME is empty'); elseif(mb_strlen($this->name) > 100) throw new Exception('ERROR: your NAME is longer than 100 symbols');
if os.path.exists('users/' + str(self.uid) + '.txt'): try: #а что тут? except: return 'ERROR: file with ' + str(self.uid) + ' id is already exists' elif self.balance < 0: try: #а что тут? except: return 'ERROR: your BALANCE is less than 0'
Отредактировано creator (Авг. 19, 2012 20:05:01)
Офлайн
52
Вы плохо представляете себе, что такое _обработка_ исключений. throw в питоне называется raise.
Например:
raise ValueError raise TypeError('String expected')
Отредактировано fata1ex (Авг. 19, 2012 20:24:43)
Офлайн
0
написал я так
try: if os.path.exists('users/' + str(self.uid) + '.txt'): raise NameError, 'ERROR: file with ' + str(self.uid) + ' id is already exists' elif self.balance < 0: raise ValueError, 'ERROR: your BALANCE is less than 0' else: return self.saveData() except (NameError, ValueError): raise
Traceback (most recent call last): File "file.py", line 23, in func raise ValueError, 'ERROR: your BALANCE is less than 0'
Офлайн
20
просто
if os.path.exists('users/' + str(self.uid) + '.txt'): raise NameError, 'ERROR: file with ' + str(self.uid) + ' id is already exists' elif self.balance < 0: raise ValueError, 'ERROR: your BALANCE is less than 0' else: return self.saveData()
Отредактировано EBFE (Авг. 19, 2012 23:03:25)
Офлайн