me gustaría coger cualquier llamada a de control - c como una excepción, por lo que me ocupo de las interrupciones de una manera menos perjudicial. La única discusión que encontré en línea fue this thread on the matlab exchange de 2009. Me preguntaba si alguien sabe de una nueva solución que puede haber surgido en las versiones más recientes de matlab. ¡Gracias!MATLAB excepción tiro interrupción
Respuesta
Al pulsar Ctrl C, MATLAB lo interpreta como una interrupción. No creo que haya una forma de que capte la llamada y haga algo como saltar a un bucle diferente, por ejemplo.
Sin embargo, puede usar la función onCleanup
para realizar operaciones como cerrar archivos abiertos, eliminar archivos temporales, escribir un registro, mostrar un mensaje o incluso guardar el área de trabajo antes de que MATLAB interrumpa. Sin embargo, necesita ser llamado desde dentro de una función.
Aquí es un simple ejemplo ilustrativo
function test
currentDir=pwd;
cd 'path to some folder'
c=onCleanup(@()cd(currentDir));
for i=1:...
%#some computations here
end
Así que cuando esta función se ejecuta y se interrumpen, que le trae de nuevo a la misma carpeta que estaba cuando se ejecutó. Es bueno tener esto para que no esté atascado en alguna carpeta aleatoria y necesite escribir manualmente cada vez.
Además del método onCleanup
, tenga en cuenta que puede escribir su propio objeto similar derivando de handle
, e implementando un método delete
. El documento es here.
- 1. tiro excepción
- 2. codificación Base64 excepción utilizando impulso tiro
- 3. Maven excepción tarro de sombra tiro
- 4. tiro nueva excepción vs bloque Catch
- 5. arrojar nueva std :: excepción vs std :: excepción tiro
- 6. punto de interrupción en las excepciones (equivalente de tiro captura del BGF)
- 7. diferencia entre tiro y lanzar la nueva Excepción()
- 8. ¿Qué es la "excepción de instrucción de interrupción" en WinDbg?
- 9. Punto de interrupción en la excepción en Eclipse: cómo examinar el objeto de excepción?
- 10. cómo usar excepción tiro en la base de datos mysql conectar
- 11. Punto de interrupción señalando "objc_autoreleaseNoPool"
- 12. tiro y el operador ternario en C++
- 13. Handle 404 tiro por código en appengine
- 14. Junit4 + Primavera 2.5: Afirma tiro "NoClassDefFoundError"
- 15. El uso de un tiro en una expresión Javascript
- 16. ¿Hay algún uso para la decoración de tiro de C++?
- 17. ¿Cómo restaurar puntos de interrupción en MATLAB después de "borrar todo"?
- 18. ¿Cómo borrar variables persistentes mientras se mantienen los puntos de interrupción en MATLAB?
- 19. garantía excepción fuerte VS garantía excepción básica
- 20. ¿Cuál es la diferencia entre el contexto de interrupción y excepción?
- 21. Manejo de señales en C - Interrupción de interrupción
- 22. Interruptor sin interrupción
- 23. jQuery - ¿Animación de interrupción?
- 24. Paralelo.Para la interrupción
- 25. clojurescript puntos de interrupción
- 26. 8051 interrupción externa
- 27. interrupción() no funciona
- 28. Interrupción del software
- 29. Java ExecutorService invokeAll() interrupción
- 30. SVN- cómo cometer varios archivos en un solo tiro
Esa fue la esencia de lo publicado en el enlace a Matlab Central, pero gracias por el ejemplo de código. – eykanal