gpt4 book ai didi

python - 使用 Python 的 Hive UDF - 在 shell 上打印异常

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:34 25 4
gpt4 key购买 nike

在下面的代码中,每当捕获到异常时,我想退出程序并在 shell 上打印异常

#stream.py
import hashlib
import sys
import os
import importlib


for line in sys.stdin.readlines():
try:
inpFile = "temp.py"
execfile(inpFile)
line1 = line.strip('\n').split('\t')
print "\t".join(line1)
except:
#exception expected "temp.py:File Not Found", how do I exit the code & print the exception on console ?
sys.exit(1)

这是调用 UDF 的转换查询:

Create table newtable as Select TRANSFORM(id,name) USING 'python stream.py' as (id,name) from mytable;

赞赏想法。

最佳答案

如果你想捕获特定类型的异常(例如 IOError),你可以使用

  except IOError as e:

并使用e.strerror访问错误字符串

如果你想捕获所有异常,你可以使用 sys.exc_info()[0] 访问最后的错误消息

例如

try:
1/0
except:
print sys.exc_info()[0]

会打印

<type 'exceptions.ZeroDivisionError'>

关于python - 使用 Python 的 Hive UDF - 在 shell 上打印异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com