Выдача исключения для отказа является одним хорошим способом продолжиться, и если Вы возвращаете много различных значений, можно возвратить кортеж. Для конкретного случая Вы цитируете, я часто проявляю промежуточный подход: возвратите измененную строку на успехе и не возвратите Ни один при отказе. Я - действительно неисправимый программист C, чтобы хотеть возвратить Нулевого указателя для обугливания при отказе.
, Если я писал стандартную программу, которая будет использоваться в качестве части более крупной библиотеки и использоваться другими разработчиками, я выдам исключение при отказе. Когда я съем свой собственный собачий корм, я, вероятно, возвращу различные типы и тест по возврату.
Мне пришлось немного подправить его, чтобы заставить работать с моей базой данных, но это сработало:
select from_tz(to_timestamp('2009-11-17 18:40:05','yyyy-mm-dd hh24:mi:ss'), 'UTC')
at time zone 'America/New_York' from dual
Ключ - синтаксис «в часовом поясе».