Как реализовать вызов ошибки, как com-объект?
Сейчас из JavaScript кода, создается:
var customObject = new ActiveXObject("NAMESPACE.CLASS_NAME");
customObject.GETWRAPPER.CallMethodHttpCom("METHOD_NAME");
Так вызывается C# метод. Из этого метода вылетает ошибка с каким-то сообщением. Мне необходимо, что бы при перехвате try..catch(error) из JS, я смог увидеть это своё сообщение.
Сейчас же я вижу:
Т.е. не то сообщения что я вызывал в C#.
Мне подсказали смотреть в сторону IUnknown, но к моему большому сожалению, не могу понять что я там должен увидеть.
Подскажите как реализовать или где посмотреть примеры для подобных проблем?
У меня вот так работает
C#:
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace AxTest
{
[ProgId("AxTest.Class1")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("177E405F-0C29-4FB1-B55A-D5324EDE1E97")]
[ComVisible(true)]
public class Class1
{
public string Test(string x)
{
throw new Exception("Something bad happened!");
}
}
}
JS:
<html>
<head>
<title>ActiveX test</title>
</head>
<body>
<script type="text/jscript">
try {
var customObject = new ActiveXObject("AxTest.Class1");
var res = customObject.Test("Foo");
alert(res);
} catch (ex) {
alert("Exception: " + ex.message);
}
</script>
</body>
</html>
Судя по сообщению, у вас исключение завернуто в TargetInvocationException. Чтобы получить нормальное сообщение об ошибке, вам надо его перехватывать и пробрасывать как свое исключение. Потому что в JS не достать InnerException.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть вот такая строчка в С++ коде: sects[low]bound = low
Подскажите пожалуйста! Имеется контроллер на aspnet в котором получаю список из базы данных, далее этот список надо отправить на мобильное приложение
Использую SQL Server 2014, VS 2017 Суть в том, что нужно по параметрам создавать отчеты, например, вывести какие-нибудь записи за указанный период времениЯ...
Я создал новое окно и хочу прописать показ формы через обработчик событий