Общие типы исключений, которые могут произойти, когда выполняющие функции MATLAB® включают:
Ошибки HTTP — Обработанное использование исключения Python® httplib.HTTPException
. Общие причины ошибок HTTP включают:
Используя неправильное архивное имя
Используя неправильное имя функции
При таймауте, прежде чем функция закончила оценивать
Ошибки MATLAB Runtime — Обработанное использование исключения matlab.mpsexception.MATLABException
. Происходит, когда MATLAB Runtime генерирует ошибку при выполнении функции.
Ваш клиентский код должен обработать эти ошибки корректно.
Если ваш клиентский код испытывает какие-либо проблемы при отправке данных в или получении данных из экземпляра сервера, исключение 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 e
Если ошибка происходит, в то время как MATLAB Runtime выполняет функцию, исключение matlab.mpsexception.MATLABException
повышено. Исключение содержит следующее:
ml_error_message
— Сообщение об ошибке возвращено MATLAB Runtime
ml_error_identifier
— Ошибочный ID MATLAB
Стек ml_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()