很多小伙伴在学习了postgresql数据库的使用方法和语句之后应该都发现了数据库的很多方法其实和python是很像的,那像异常捕获这种机制在postgresql数据库之中也是有的。本篇文章就会来介绍一下该如下在postgresql数据库中进行异常捕获,往下看看吧。
异常异常捕获的作用就是当捕获语句块中的代码发生异常时就会跳转到处理语句块中去执行里面的代码,这样就不会去影响程序的正常运行了,那么对于postgresql数据库中的异常捕获也是一样的。
postgresql数据库的异常捕获语句使用Begin来捕获发生异常的代码块,使用Exception字句去对发生的异常进行处理,示例如下:
BEGIN IF v_phone = 'iphone' THEN RAISE EXCEPTION '这个语句有问题'; ELSIF v_phone = 'samsung' THEN RAISE EXCEPTION '抛出异常!'; else RETURN; END IF; EXCEPTION WHEN others THEN RAISE EXCEPTION '(%)', SQLERRM; END
异常捕获的Begin语句必须要使用end结尾才是一个完整的语句块,其中raise的作用就是输出某些数据。
在没有错误发生时,Begin语句块内的代码能够被正常执行。但是一旦其中的任意一个代码出现了异常就会直接跳转到Exception语句处去对异常条件列表进行搜索,知道知道匹配这个异常条件,匹配就执行handler_statements后会继续执行End后的语句。如果一直找不到匹配的异常条件的话,那么这个异常就会被抛出,也就是说程序会停止运行,这里可以使用raise语句输出异常信息就不会停止了。
以上就是Postgresql数据库进行异常捕获的方法了,希望对你有所帮助。