处理函数处理错误
评估 MATLAB® 函数时可能出现的常见异常类型包括:
HTTP 错误 - 使用 Python®
httplib.HTTPException异常处理。HTTP 错误的常见原因包括:使用不正确的存档名称
使用不正确的函数名称
函数完成评估之前超时
MATLAB Runtime 错误 - 使用
matlab.mpsexception.MATLABException异常处理。当 MATLAB Runtime 在评估函数期间生成错误时发生。
您的客户端代码应该能够妥善处理这些错误。
HTTP 错误
如果您的客户端代码在向服务器实例发送数据或从服务器实例接收数据时遇到任何问题,则会引发 httplib.HTTPException 异常。HTTP 错误的一个常见原因是服务器上部署的工件与客户端中调用的函数之间的名称不匹配。
例如,在存档 mutate() 中部署函数 mutations 会导致错误,因为服务器实例无法解析存档的名称。
import httplib
import matlab
from production_server import client
def main()
my_client = client.MWHttpClient("http://localhost:9190")
try:
result = my_client.mutation.mutate("blue",10,12)
...
except httplib.HTTPException as e:
print e如果在存档 mutate() 中部署函数 mutations,则以下情况会导致错误,因为服务器实例无法解析该函数的名称。
import httplib
import matlab
from production_server import client
def main()
my_client = client.MWHttpClient("http://localhost:9190")
try:
result = my_client.mutations.mutator("blue",10,12)
...
except httplib.HTTPException as e:
print eMATLAB Runtime 错误
如果在 MATLAB Runtime 执行函数时发生错误,则会引发 matlab.mpsexception.MATLABException 异常。该异常包含以下内容:
ml_error_message- MATLAB Runtime 返回的错误消息ml_error_identifier- MATLAB 错误 IDml_error_stack- MATLAB Runtime 堆栈
此函数捕获任何 MATLAB Runtime 错误并将其打印到控制台。
from matlab.production_server import client
from matlab.production_server import mpsexceptions
import sys
def main(size):
my_client = client.MWHttpClient('http://localhost:9190')
try:
data = my_client.magic.mymagic(size)
print data
except mpsexceptions.MATLABException as e:
print 'MATLAB Error: ',e
my_client.close()
另请参阅
matlab.production_server.client.MWHttpClient