다음을 통해 공유


StylusInput API에 대한 오류 처리 고려 사항

플러그 인에서 throw된 처리되지 않은 예외는 RealTimeStylus 개체에 의해 catch됩니다. 플러그 인에서 예외를 throw하면 데이터의 정상적인 흐름이 중단됩니다. RealTimeStylus 개체:

  1. 관리 코드에서 ErrorData 개체를 만듭니다.
  2. 예외를 throw한 플러그 인의 Error 메서드(관리 코드에서 Microsoft.StylusInput.IStylusSyncPlugin.Error 또는 Microsoft.StylusInput.IStylusAsyncPlugin.Error 메서드)를 호출합니다.
  3. 해당 컬렉션에 있는 나머지 플러그 인의 Error 메서드를 호출합니다.
  4. 예외를 throw한 플러그 인이 동기 플러그 인이면 ErrorData 개체(관리 코드)가 출력 큐에 추가됩니다.
  5. RealTimeStylus 개체는 원래 데이터의 정상적인 처리를 다시 시작합니다.

플러그 인이 Error 메서드에서 예외를 throw하는 경우 RealTimeStylus 개체는 예외를 catch하지만 새 ErrorData 개체를 생성하지는 않습니다. ErrorData가 큐에 추가되는 방법에 대한 자세한 내용은 플러그 인 데이터 및 RealTimeStylus 클래스를 참조하세요.

RealTimeStylus 개체는 플러그 인 중 하나가 예외를 throw할 때 태블릿 펜의 데이터 스트림에서 데이터 처리를 중지하지 않습니다. 디자인에 따라 일부 플러그 인은 ErrorData 알림을 구독하고 예외가 발생할 때 해당 동작을 수정해야 할 수 있습니다.