程序中不捕获异常导致的问题

当前项目中我主要负责web端的后台开发,项目开发中需要调用其他人的AI训练接口,然后抛出了一个python代码的异常:如下

Traceback (most recent call last):
  File "main.py", line 57, in
    model.train()
  File "/app/algorithm_model/yolo3/train.py", line 63, in train
    annotation_path = image_xml_to_train(self.classes_path, self.image_dir, self.xml_dir, self.negative_image_dir)
  File "/app/tools/voc_annotation.py", line 90, in image_xml_to_train
    b = (int(xmlbox.find('xmin').text), int(xmlbox.find('ymin').text), int(xmlbox.find('xmax').text),
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType;

其他同事的模型训练的代码是使用Python来写的,从这个异常信息中,我能够知道的信息是在进行int转换时抛出了异常,其他的都不知道了。那些xml文件总共有300多个,这个怎么查找错误信息呢,我是没有获取到其他有用的信息。比如xml的名称叫什么,或者其他关键信息等等,这个找起来,真的有些棘手,主要原因是没有其他关键信息。而且这个异常是被动抛出的,不是开发者主动抛出的,这就更加不好查找。

       从这里得出一个经验,在写代码时,对于这种需要大量读取文件的代码,如果可能会抛出异常,则一定要将可查找错误信息的关键信息丢到异常信息中,不然查找起来会非常麻烦。

你可能感兴趣的:(JavaScript,Python)