首页 \ 问答 \ 例外与反思(Exception and Reflection)

例外与反思(Exception and Reflection)

Web服务具有SoapExtension,它包含错误处理程序和xml格式的序列化错误。

<? Xml version = "1.0" encoding = "utf-8" standalone = "yes"?>
<Exception Type="System.NullReferenceException"> Exception text. </ Exception>

如何制作错误处理程序,调用“类型”错误? 例如:

Type _type = Type.GetType(doc.DocumentElement.Attributes["Type"].Value);

必须调用NullReferenceException。


The web service has SoapExtension, which contains an error handler and serializing error in a format xml.

<? Xml version = "1.0" encoding = "utf-8" standalone = "yes"?>
<Exception Type="System.NullReferenceException"> Exception text. </ Exception>

How to make error handler, which call error of "Type"? E.g.:

Type _type = Type.GetType(doc.DocumentElement.Attributes["Type"].Value);

It must to call NullReferenceException.


原文:https://stackoverflow.com/questions/3810111
更新时间:2023-10-16 22:10

最满意答案

主要问题是你建立objs的规则:

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

在$(INC)中不使用您的包含路径

另一个问题是您在错误的文件扩展名上进行匹配。 例如, %.c应为%.cpp

你还有一些额外的冗余垃圾,所以我建议你像这样更新你的makefile来得到这个想法:

CC=gcc

DEPS = hello.h
OBJ = hello.o
INC=-I. -I../lib/StanfordCPPLib

%.o: %.cpp $(DEPS)
    $(CC) $(INC) -c $<

hellomake: $(OBJ)
    g++ -o $@ $^

这在我的小模拟设置中构建良好。 请记住,在hellomake:下使用g ++实际上是必要的hellomake:要正确链接所有内容。


The main problem is that your rule for building objs:

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

doesn't use your include path in $(INC)

Another problem is that you are matching on the wrong file extension. e.g. %.c should be %.cpp.

You also have some extra redundant junk in there, so I suggest you update your makefile like this to get the idea:

CC=gcc

DEPS = hello.h
OBJ = hello.o
INC=-I. -I../lib/StanfordCPPLib

%.o: %.cpp $(DEPS)
    $(CC) $(INC) -c $<

hellomake: $(OBJ)
    g++ -o $@ $^

This builds fine in my little mock setup. Remember that it is actually necessary for you to use g++ under hellomake: for everything to link properly.

相关问答

更多
  • 主要问题是你建立objs的规则: %.o: %.c $(DEPS) $(CC) -c -o $@ $< $(CFLAGS) 在$(INC)中不使用您的包含路径 另一个问题是您在错误的文件扩展名上进行匹配。 例如, %.c应为%.cpp 。 你还有一些额外的冗余垃圾,所以我建议你像这样更新你的makefile来得到这个想法: CC=gcc DEPS = hello.h OBJ = hello.o INC=-I. -I../lib/StanfordCPPLib %.o: %.cpp $(DEPS) ...
  • 你可以改变: OBJECT_FILES = brd.o logger.o test_brd.o 成: OBJECT_FILES_EXCEPT_LOGGER = brd.o test_brd.o OBJECT_FILES = $(OBJECT_FILES_EXCEPT_LOGGER) logger.o 并改变你的干净: clean: rm -f $(TARGET) $(OBJECT_FILES_EXCEPT_LOGGER) 但是要清理的重点是彻底重建。 如果你不想完全重建,只需使用make , ...
  • v3.81太旧了。 gnumake.h出现在GNU make 4.0中 v3.81 is too old. gnumake.h appears in GNU make 4.0
  • 从GNU中的非标准位置使用第三方C ++库使常规步骤是: 将第三方库头的路径添加到C ++预处理器标志中。 例如 CPPFLAGS += -I/3rd-party/include 将第三方共享/星型库的路径添加到链接器标志和库本身。 假设该库名为lib3rd-party.so或lib3rd-party.a ,例如 LDFLAGS += -L/3rd-party/lib -Wl,-rpath=/3rd-party/lib -l3d-party To use a third party C++ librar ...
  • 在makefile中,你已经将你的include指令添加到链接阶段,而不是编译阶段。 线 ${PROG}: $(OBJS) $(CXX) $(INCLUDES) -o $(PROG) $(OBJS) $(LIBS) 假设通过调用$ {CXX}中的编译器传递包含文件夹(以及其他参数),从$ {OBJS}中的目标文件生成$ {PROG}中的程序。 相反,对于您的可变部分,请执行以下操作: INCLUDES = -I /usr/include/mysql -I ...
  • 所以我终于明白了。 不是我害怕的最聪明的方式。 Makefile文件 SRC=../src IDIR =../include OUTDIR=../obj CC=cc CFLAGS=-I$(IDIR) LDFLAGS=-shared -ggdb -fPIC -Wall -lnsl ODIR=../obj #LDIR =../lib _DEPS = header.h DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS)) _OBJ = X1.o X2.o X3.o OBJ = $( ...
  • 而不是定义自己的规则(即:删除以下): w2.${VER}: w2.${VER}.o $(CPP) -ow2.${VER} w2.${VER}.o w2.${VER}.o: w2.${VER}.cpp $(CPP) -c -O2 -std=c++17 w2.${VER}.cpp 您可以简单地依赖已经定义的隐式规则。 您只需要正确设置这些隐式规则使用的变量。 因此,为了找到编译的头文件: CPPFLAGS := -I/home/path/gsl/include 对于C ++标准的优化和 ...
  • 我想所有makefile独立,所以我可以复制/通过类文件夹到一个新项目,它仍然工作,或者我可以单独执行makefile而不更改它。 我很确定这是不可能的。 您的makefile要么是独立的,在这种情况下,您可以使顶级文件make递归方式调用较低级别目录中的make (因此不要include它们), 或者您可以通过包含其他makefile来形成单个非递归makefile。 我认为两者都不可能。 如何将(正确)makefile包含到其他makefile中? 唯一有效的答案是“使用include指令”(除了通常的 ...

相关文章

更多

最新问答

更多
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • 电脑高中毕业学习去哪里培训
  • 电脑系统专业就业状况如何啊?
  • IEnumerable linq表达式(IEnumerable linq expressions)
  • 如何在Spring测试中连接依赖关系(How to wire dependencies in Spring tests)
  • Solr可以在没有Lucene的情况下运行吗?(Can Solr run without Lucene?)
  • 如何保证Task在当前线程上同步运行?(How to guarantee that a Task runs synchronously on the current thread?)
  • 在保持每列的类的同时向数据框添加行(Adding row to data frame while maintaining the class of each column)
  • 的?(The ? marks in emacs/haskell and ghc mode)
  • 一个线程可以调用SuspendThread传递自己的线程ID吗?(Can a thread call SuspendThread passing its own thread ID?)
  • 延迟socket.io响应,并“警告 - websocket连接无效”(Delayed socket.io response, and “warn - websocket connection invalid”)
  • 悬停时的图像转换(Image transition on hover)
  • IIS 7.5仅显示homecontroller(IIS 7.5 only shows homecontroller)
  • 没有JavaScript的复选框“关闭”值(Checkbox 'off' value without JavaScript)
  • java分布式框架有哪些
  • Python:填写表单并点击按钮确认[关闭](Python: fill out a form and confirm with a button click [closed])
  • PHP将文件链接到根文件目录(PHP Linking Files to Root File Directory)
  • 我如何删除ListView中的项目?(How I can remove a item in my ListView?)
  • 您是否必须为TFS(云)中的每个BUG创建一个TASK以跟踪时间?(Do you have to create a TASK for every BUG in TFS (Cloud) to track time?)
  • typoscript TMENU ATagParams小写(typoscript TMENU ATagParams lowercase)
  • 武陟会计培训类的学校哪个好点?
  • 从链接中删除文本修饰(Remove text decoration from links)