Matlab中的错误:捕获“std :: exception”异常消息是:

时间:2014-01-14 14:09:51

标签: java matlab runtime-error

我可以连接一个服务器,其中有两个版本的matlab Matlab_R2013a,Matlab_R2012a和我本地ubuntu 12.10 pc中的另一个版本的Matlab_R2012b。过去几周我一直面临着一个问题。有时我可以在我的电脑上运行代码但是如果它需要很长时间或者如果我尝试运行类似代码几次我会收到错误并且Matlab不再有效。服务器中的Matlabs也发生了同样的事情。我必须重新启动,然后我再次运行matlab很短的时间,但在那之后我又一次又面临同样的问题。

Matlab显示的错误是

"Caught "std::exception" Exception message is: Message Catalog MATLAB:services was not loaded from the file. Please check file location, format or contents The desktop configuration was not saved successfully

java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.mathworks.mlwidgets.workspace.ClassicWhosInformation.<init>(ClassicWhosInformation.java:20) at com.mathworks.mlwidgets.workspace.ClassicWhosInformation.getInstance(ClassicWhosInformation.java:38) at com.mathworks.mlwidgets.workspace.WhosRecordlistModel.setWhosInformation(WhosRecordlistModel.java:45) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel.setSuperWhosInformation(MatlabWorkspaceModel.java:519) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel.access$400(MatlabWorkspaceModel.java:19) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel$1.run(MatlabWorkspaceModel.java:532) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /usr/local/MATLAB/R2013a/bin/glnxa64/libnativei18n.so: /usr/local/MATLAB/R2013a/bin/glnxa64/libnativei18n.so: cannot open shared object file: Too many open files at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.mathworks.fl.i18n.XMLMessageSystem.<clinit>(Unknown Source) at com.mathworks.mlwidgets.mlservices.scc.SccPrefsPanel.<clinit>(SccPrefsPanel.java:50) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.mathworks.mlwidgets.prefs.PrefsDialog.registerPanel(PrefsDialog.java:310) at com.mathworks.mlwidgets.prefs.PrefsDialogRegistrar.preRegisterPanels(PrefsDialogRegistrar.java:37) at com.mathworks.mlwidgets.prefs.PrefsDialog.initialize(PrefsDialog.java:95) at com.mathworks.mlwidgets.prefs.PrefsDialog.access$500(PrefsDialog.java:27) at com.mathworks.mlwidgets.prefs.PrefsDialog$4.run(PrefsDialog.java:224) at com.mathworks.mlwidgets.prefs.PrefsDialog.showPrefsDialog(PrefsDialog.java:238) at com.mathworks.mlwidgets.prefs.PrefsDialog.doShowPrefsDialog(PrefsDialog.java:204) at com.mathworks.mlwidgets.prefs.PrefsDialog.showPrefsDialog(PrefsDialog.java:121) at com.mathworks.mlwidgets.prefs.PrefsDialog.showLastPrefsDialog(PrefsDialog.java:158) at com.mathworks.mlservices.MLPrefsDialogServices.showLastPrefsDialog(MLPrefsDialogServices.java:45) at com.mathworks.mde.desk.MLDesktop$PreferencesAction.actionPerformed(MLDesktop.java:2649) at com.mathworks.mwswing.ChildAction.actionPerformed(ChildAction.java:214) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:327) at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:321) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:362) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: IInternalException for "matlab.desktop.currentfolder.lastfolder.ColumnSizes": Cannot open a temp file to save the Settings object. It could due to out of file handle or other reasons. at com.mathworks.services.settings.Setting.nativeSet(Native Method) at com.mathworks.services.settings.Setting.set(Setting.java:900) at com.mathworks.services.settings.Setting.set(Setting.java:758) at com.mathworks.services.settings.Setting.set(Setting.java:700) at com.mathworks.mlwidgets.explorer.model.table.ExplorerTableConfigurationSerializer.saveColumnSizes(ExplorerTableConfigurationSerializer.java:181) at com.mathworks.mlwidgets.explorer.model.table.ExplorerTableConfigurationSerializer.save(ExplorerTableConfigurationSerializer.java:69) at com.mathworks.widgets.grouptable.GroupingTableConfiguration$1.propertyChange(GroupingTableConfiguration.java:157) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSize(GroupingTableConfiguration.java:628) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSize(GroupingTableConfiguration.java:616) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSizeIfNotFixed(GroupingTableConfiguration.java:610) at com.mathworks.widgets.grouptable.GroupingTable$27$1.actionPerformed(GroupingTable.java:862) at javax.swing.Timer.fireActionPerformed(Unknown Source) at javax.swing.Timer$DoPostEvent.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Caught "std::exception" Exception message is: Message Catalog MATLAB:services was not loaded from the file. Please check file location, format or contents"

我删除了本地.matlab文件夹。但在那之后我也面临着同样的问题。

请帮我在MATLAB中解决这个问题。提前谢谢。

答案 问题基本上是打开了太多文件。

5 个答案:

答案 0 :(得分:4)

我遇到了类似的问题,正如Petesh所说,这是一个文件处理问题 - MATLAB一次只能有这么多打开的文件。快速解决方法是在MATLAB命令窗口中执行fclose all。要检查已打开的文件句柄数,请使用fopen('all'),它将显示活动句柄列表。 (我的MATLAB 2013a版本充满了512个打开的文件)。

从其生成的所有错误行中挑选的关键错误消息是

(Too many open files)

更好的解决方案是确保打开后关闭文件的所有脚本,尤其是每次循环时打开文件时。

另请参阅:How to close file handle in matlab?

答案 1 :(得分:1)

必须因为您多次打开.txt文件,但未及时关闭它们。 试试这个:

fidout = fopen([saveLabel_path, 'new_Label.txt'], 'a');
fprintf(fidout, '%s \n', final_label);
fprintf(fidout, '\n');
fclose(fidout);

为了避免它仍然警告你,只需添加:     fclose all; 小心,因为你永远不会再看到这个错误,永远告别它......

希望它可以帮助你...

答案 2 :(得分:0)

我也遇到了同样的问题。使用fclose()函数关闭循环中所有打开的文件,将错误抛出... 玩得开心 M.Santhanakumar

答案 3 :(得分:0)

根据您可能已打开但未关闭的文件,使用Matlab中的$ fclose $函数(例如$ fclose('myfile')$)。 我经常使用$ fclose('all')$来确保我不会错过任何文件:)

答案 4 :(得分:0)

如果你在Matlab中遇到这个错误,路径是一个问题,假设你使用任何其他软件如python java,

所以你必须在环境变量中清除临时文件,例如

如果您在环境变量中看到this path in[ C:\Python27\Scripts]并转到临时删除,则此行错误将会清除。