Я создаю программу, которая позволяет запускать приложения с Python. Я спроектировал его таким образом, чтобы, если определенный веб-браузер не был загружен, по умолчанию использовался другой. К сожалению, кажется, что блок try работает только с одним «кроме FileNotFoundError». Есть ли способ иметь несколько из них в одном блоке try? Вот мой (неудачный) код ниже:
app = input("\nWelcome to AppLauncher. You can launch your web browser by typing '1', your File Explorer by typing '2', or quit the program by typing '3': ")
if app == "1":
try:
os.startfile('chrome.exe')
except FileNotFoundError:
os.startfile('firefox.exe')
except FileNotFoundError:
os.startfile('msedge.exe')
Если у пользователя не загружен Google Chrome, программа пытается запустить Mozilla Firefox. Если это приложение не найдено, оно должно открыть Microsoft Edge; вместо этого возникает эта ошибка в IDLE (обратите внимание, что я намеренно ошибся в написании chrome .exe и firefox .exe, чтобы имитировать программы, которые по существу не существуют):
Traceback (most recent call last):
File "C:/Users/NoName/AppData/Local/Programs/Python/Python38-32/applaunchermodule.py", line 7, in <module>
os.startfile('chome.exe')
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'chome.exe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/NoName/AppData/Local/Programs/Python/Python38-32/applaunchermodule.py", line 9, in <module>
os.startfile('frefox.exe')
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'frefox.exe'
Есть ли способ вызвать два одинаковых исключения в одном блоке попытки?