For checking whether a string represents an int, without using try/except if your string is a positive integer you can use .isdigit.This method will only work with positive numbers.
'16'.isdigit()
If your string contains negative integers then you can try the following way:
s = '-17'
s.startswith('-') and s[1:].isdigit()