continue
try:
int(token)
- except ValueError:
+ except ValueError as e:
raise ArgFail(arg_char,
f'{prefix} carries value neither integer, '
- f'nor "start", nor "end": {pr_string}')
+ f'nor "start", nor "end": {pr_string}') from e
if int(token) < 1:
raise ArgFail(arg_char,
f'{prefix} carries page number <1: {pr_string}')
for crop in crops:
try:
float(crop)
- except ValueError:
- raise ArgFail('c', f'non-number crop in: {c_string}')
+ except ValueError as e:
+ raise ArgFail('c',
+ f'non-number crop in: {c_string}') from e
if args.rotate_page:
for r in args.rotate_page:
try:
int(r)
- except ValueError:
- raise ArgFail('r', f'non-integer value: {r}')
+ except ValueError as e:
+ raise ArgFail('r', f'non-integer value: {r}') from e
if r < 1:
raise ArgFail('r', 'value must not be <1: {r}')
try:
float(args.print_margin)
- except ValueError:
- raise ArgFail('m', f'non-float value: {args.print_margin}')
+ except ValueError as e:
+ raise ArgFail('m', f'non-float value: {args.print_margin}') from e
def split_crops_string(
opened_files += [file]
try:
reader = PdfReader(file)
- except PdfStreamError:
+ except PdfStreamError as e:
for file in opened_files:
file.close()
- raise ArgFail('i', f'cannot interpret {filename} as PDF file')
+ raise ArgFail('i',
+ f'cannot interpret {filename} as PDF file') from e
range_string = None
if args_page_range and len(args_page_range) > i:
range_string = args_page_range[i]