У меня есть некоторый код Xamarin.Mac, который вызывает собственную функцию , как описано здесь . Когда функция вызывается, она иногда вызывает исключение NSException (зависит от подключенного оборудования). К сожалению, исключение не перехватывается при использовании try / catch, и это приводит к сбою моего приложения.
Пока я могу жить с обстоятельствами, которые приводят к исключению. Однако я не могу смириться с тем, что мое приложение перестало работать.
Я хочу иметь возможность перехватывать при возникновении исключения NSEx, возможно, сообщить об ошибке и продолжить.
Это может сделать что-то вроде следующего:
ExceptionCatcher.CatchExceptionAndGetError(
() => _platformThing.SometimesThrowException(),
out var error);
if (error != null)
{
// Report error
}
// Carry on
Я проверил, что исключение может быть перехвачено при непосредственном использовании Objective-C.
Мне известно о решении обёртывания NSException здесь . Однако, прежде чем пытаться реализовать что-то подобное для работы с моим кодом, есть ли что-то, что уже существует для Xamarin, которое я могу использовать для решения этой ситуации?