@@ -53,16 +53,28 @@ class USBWorkflow extends Workflow {
5353
5454 async onDisconnected ( e , reconnect = true ) {
5555 if ( this . reader ) {
56- await this . reader . cancel ( ) ;
56+ try {
57+ await this . reader . cancel ( ) ;
58+ } catch ( error ) {
59+ console . warn ( "Error calling reader.cancel:" , error ) ;
60+ }
5761 this . reader = null ;
5862 }
5963 if ( this . writer ) {
60- await this . writer . releaseLock ( ) ;
64+ try {
65+ await this . writer . releaseLock ( ) ;
66+ } catch ( error ) {
67+ console . warn ( "Error calling writer.releaseLock:" , error ) ;
68+ }
6169 this . writer = null ;
6270 }
6371
6472 if ( this . _serialDevice ) {
65- await this . _serialDevice . close ( ) ;
73+ try {
74+ await this . _serialDevice . close ( ) ;
75+ } catch ( error ) {
76+ console . warn ( "Error calling _serialDevice.close:" , error ) ;
77+ }
6678 this . _serialDevice = null ;
6779 }
6880
@@ -273,7 +285,11 @@ class USBWorkflow extends Workflow {
273285 device . addEventListener ( "message" , this . _messageCallback ) ;
274286
275287 let onDisconnect = async ( e ) => {
276- await this . onDisconnected ( e , false ) ;
288+ try {
289+ await this . onDisconnected ( e , false ) ;
290+ } catch ( error ) {
291+ console . warn ( "Error calling onDisconnected (maybe already disconnected):" , error ) ;
292+ }
277293 } ;
278294 device . removeEventListener ( "disconnect" , onDisconnect ) ;
279295 device . addEventListener ( "disconnect" , onDisconnect ) ;
0 commit comments