Общие типы исключений, которые могут произойти, когда выполняющие функции 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()