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

Java Matlab中的错误:捕获的“std::exception”异常消息为:,java,matlab,runtime-error,Java,Matlab,Runtime Error,我可以连接一台服务器,在我本地的ubuntu 12.10 pc上有两个版本的matlab matlab_R2013a,matlab_R2012a和另一个版本的matlab_R2012b。过去几周我一直面临一个问题。有时我可以在我的电脑上运行代码,但如果需要很长时间,或者如果我尝试运行类似的代码几次,我会得到一个错误,Matlab不再工作。服务器中的Matlabs也发生了同样的事情。我必须重新启动,然后我可以运行matlab一小段时间,但在那之后,我一次又一次地面临同样的问题 Matlab显示的误

我可以连接一台服务器,在我本地的ubuntu 12.10 pc上有两个版本的matlab matlab_R2013a,matlab_R2012a和另一个版本的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"
我删除了local.matlab文件夹。但在那之后,我又面临着同样的问题

请帮我用MATLAB解决这个问题。先谢谢你

答复
问题基本上是打开的文件太多。

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

要从它生成的所有错误行中挑出的关键错误消息是

(Too many open files)
更好的解决方案是确保在打开文件后关闭所有脚本,尤其是在循环中每次打开文件时


另请参见:

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

要从它生成的所有错误行中挑出的关键错误消息是

(Too many open files)
更好的解决方案是确保在打开文件后关闭所有脚本,尤其是在循环中每次打开文件时


另请参见:

我也遇到了同样的问题。使用fclose函数关闭循环中所有打开的文件以丢弃错误。。。 玩得高兴
M.Santhanakumar也有同样的问题。使用fclose函数关闭循环中所有打开的文件以丢弃错误。。。 玩得高兴
M.Santhanakumar

必须这样做,因为您打开.txt文件的次数太多,但没有及时关闭它们。 试试这个:

fidout = fopen([saveLabel_path, 'new_Label.txt'], 'a');
fprintf(fidout, '%s \n', final_label);
fprintf(fidout, '\n');
fclose(fidout);
为了避免它仍然警告您,只需添加以下内容: fclose all; 小心点,因为你再也看不到这个错误了,永远跟它说再见吧


希望它能帮助你…

这一定是因为你打开了一个.txt文件太多次,但没有及时关闭它们。 试试这个:

fidout = fopen([saveLabel_path, 'new_Label.txt'], 'a');
fprintf(fidout, '%s \n', final_label);
fprintf(fidout, '\n');
fclose(fidout);
为了避免它仍然警告您,只需添加以下内容: fclose all; 小心点,因为你再也看不到这个错误了,永远跟它说再见吧


希望它能帮助您……

根据您可能已打开和未关闭的文件,使用Matlab中的$fclose$函数,例如$fclose'myfile'$。
我经常使用$fclose'all'$以确保不会丢失任何文件:

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

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

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


如果您在环境变量的[C:\Python27\Scripts]中看到类似于此的路径,并转到temp delete,则此行错误将被清除。

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

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


如果您在环境变量的[C:\Python27\Scripts]中看到类似此路径,并转到temp delete,则此行错误将被清除。

听起来好像您正在打开文件而没有关闭它们。记住,每个打开的文件都需要有一个关联的文件关闭,否则文件描述符就用完了听起来像是在打开文件而没有关闭它们。记住,每个打开的文件都需要有一个关联的文件关闭,否则文件描述符就会用完