捕捉 exceptions/errors

Catching exceptions/errors

我完全是 Python 的新手,我需要你的详细建议。

所以我在下面为一个脚本创建了这个循环,该脚本具有第一个输入 "gene_name",从 .csv 文件读取。我如何编写代码来捕获 "gene_name" 为 none 的情况,即 gene_name = row.strip() 在该行中没有任何内容。

我对创建自定义异常感到很困惑(不确定我是否正确使用了这个词),主要是关于如何填充 try-except 事物的一般模式。

谢谢!

if __name__ == '__main__':
  with open('gene_list.csv', 'rU') as f:
    reader = csv.reader(f)
    for row in reader: 
        gene_name = row.strip()
        probes_dict = get_probes_from_genes(gene_name) 
        expression_values, well_ids, well_coordinates, donor_names =     get_expression_values_from_probe_ids(probes_dict.keys()) #moving on
        print get_mni_coordinates_from_wells(well_ids)

要创建您自己的异常,您需要创建一个继承自 Exception 的 class。我无法从您的代码中看出您希望知道有条件失败的地方,但这给出了一般模式

class GeneNameException(Exception):
    pass

try:
   ...
   if negative_condition:
       raise GeneNameException()
   ...
except GeneNameException as e:
   <clean_up>