Python try except-在错误变量中包含自定义消息
我试着做一个简单的尝试,除了,它是工作。但是我想在错误消息的开头添加一些自定义字符串。如果我只是在打印中添加它,它的给定错误Python try except-在错误变量中包含自定义消息,python,try-except,Python,Try Except,我试着做一个简单的尝试,除了,它是工作。但是我想在错误消息的开头添加一些自定义字符串。如果我只是在打印中添加它,它的给定错误 import sys try: with open('./datatype-mapping/file.json') as rs_mapping: data_mapping = json.load(rs_mapping) except Exception as error: print('CUSTOM ERROR: '+error
import sys
try:
with open('./datatype-mapping/file.json') as rs_mapping:
data_mapping = json.load(rs_mapping)
except Exception as error:
print('CUSTOM ERROR: '+error)
sys.exit(1)
我的错误是
Traceback (most recent call last):
File "c:/Users/rbhuv/Desktop/code/bqshift.py", line 22, in get_datatype_mapping
with open('./datatype-mapping/file.json') as rs_mapping:
FileNotFoundError: [Errno 2] No such file or directory: './datatype-mapping/file.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:/Users/rbhuv/Desktop/code/bqshift.py", line 102, in <module>
main()
File "c:/Users/rbhuv/Desktop/code/bqshift.py", line 99, in main
target_mapping()
File "c:/Users/rbhuv/Desktop/code/bqshift.py", line 39, in target_mapping
data_mapping = get_datatype_mapping()
File "c:/Users/rbhuv/Desktop/code/bqshift.py", line 26, in get_datatype_mapping
print('ERROR: '+error)
TypeError: can only concatenate str (not "FileNotFoundError") to str
回溯(最近一次呼叫最后一次):
get_数据类型映射中的文件“c:/Users/rbhuv/Desktop/code/bqshift.py”,第22行
使用open('./datatype-mapping/file.json')作为rs_映射:
FileNotFoundError:[Errno 2]没有这样的文件或目录:'./数据类型映射/file.json'
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“c:/Users/rbhuv/Desktop/code/bqshift.py”,第102行,在
main()
文件“c:/Users/rbhuv/Desktop/code/bqshift.py”,第99行,在main中
目标映射()
文件“c:/Users/rbhuv/Desktop/code/bqshift.py”,第39行,在目标映射中
数据映射=获取数据类型映射()
get_数据类型映射中的文件“c:/Users/rbhuv/Desktop/code/bqshift.py”,第26行
打印('错误:'+错误)
TypeError:只能将str(而不是“FileNotFoundError”)连接到str
但是如果我只使用
print(error)
,这是有效的。您需要将error
转换为str
导入系统
尝试:
int(“失败”)
除异常作为错误外:
打印('自定义错误:'+str(错误))
系统出口(1)
Python没有类型强制的概念,这就是为什么将
异常
连接到str
不会使异常
变成字符串的原因。