Для тех, кто не знает, как использовать PDO (исходя из функций В основном читайте mysql_
), я сделал очень, очень простую PDO-обертку , которая представляет собой один файл. Он существует, чтобы показать, насколько легко выполнять все обычные приложения, которые необходимо выполнить. Работает с PostgreSQL, MySQL и SQLite.
Мне нужен один столбец
$count = DB::column('SELECT COUNT(*) FROM `user`);
Мне нужны результаты массива (key => value) (т. е. для создания selectbox)
$pairs = DB::pairs('SELECT `id`, `username` FROM `user`);
Мне нужен результат одной строки
$user = DB::row('SELECT * FROM `user` WHERE `id` = ?', array($user_id));
Мне нужен массив результатов
$banned_users = DB::fetch('SELECT * FROM `user` WHERE `banned` = ?', array(TRUE));
import sys
try:
print("stuff")
except:
sys.exit(1) # exiing with a non zero value is better for returning from an error
Можно прекратить ловить исключение, или - если необходимо поймать его (чтобы сделать некоторую пользовательскую обработку), можно повторно повысить:
try:
doSomeEvilThing()
except Exception, e:
handleException(e)
raise
Примечание, что ввод raise
, не передавая объект исключения заставляет исходный traceback быть сохраненным. Обычно это намного лучше, чем raise e
.
, Конечно - можно также явно звонить
import sys
sys.exit(exitCodeYouFindAppropriate)
, Это заставляет исключение SystemExit быть повышенным, и (если Вы не ловите его где-нибудь), завершает Ваше приложение с указанным кодом выхода.
Если Вы не обработаете исключение, оно распространит стек вызовов до интерпретатора, который тогда отобразит traceback и выход. IOW: Вы не должны делать ничто , чтобы заставить Ваш сценарий выйти, когда исключение происходит.
Насколько я знаю, если исключение не будет поймано Вашим сценарием, оно будет прервано.
import sys
try:
import feedparser
except:
print "Error: Cannot import feedparser.\n"
sys.exit(1)
Здесь мы выходим с кодом состояния 1. Обычно также полезно вывести сообщение об ошибке, записать в журнал и выполнить очистку.