乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 74|回复: 5

尝试捕捉不工作的VB。净额

[复制链接]

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:44:05 | 显示全部楼层 |阅读模式
嗨!
 
我对VB中的异常处理有问题。NET和AutoCAD Objectarx 2012。
当我用宏连接到数据库时,问题就出现了。
 
项目1:So works(Try-Catch捕捉错误):
---------------------------------------------------------
 
1.VB。NET->新建类库
 
  1.    <CommandMethod("TEST")> _Public Shared Sub TEST()
  2. [indent]Dim acaddoc As Autodesk.AutoCAD.Interop.AcadDocument = AcadApp.ActiveDocument
  3. Dim f As frmTest = New frmTest
  4. f.btnTest.PerformClick()
  5. f.ShowDialog()
  6. [/indent]
  7. End Sub

 
2、新增表格(frmTest)
 
  1. Public Class frmTestPrivate Sub btnTest_Click(sender As System.Object, e As System.EventArgs) Handles btnTest.Click
  2. Try
  3. Dim d As Double = "test"
  4. MsgBox("OK")
  5. Catch ex As Exception
  6. MsgBox("ERROR")
  7. End Try
  8. End Sub
  9. End Class

 
3.当我使用Autocad(Netload,TEST)运行te宏时,MsgBox会显示错误消息(“错误”)。
 
项目2:不工作(Try Catch no捕捉错误):
----------------------------------------------------------------
 
1.VB。NET->新建类库
2、新增表格(frmTest)
3、使用数据源向导添加数据源。
4、将数据库表与Datagridview绑定。
5.AutoCAD中的Build->NETLOAD->TEST
 
代码:
 
  1. Try
  2. Dim d As Double = "TEST"
  3. Me.TervezokTableAdapter.Fill(Me.ACADDBDataSet.Tervezok)
  4. lblServerState.Text = "Online"
  5. Catch ex As Exception
  6. lblServerState.Text = "Offline"
  7. End Try

 
这将出现在AutoCAD中:
http://kepfeltoltes.hu/110711/hiba2_www.kepfeltoltes.hu_.png
 
当我注释掉“Dim d As Double=“TEST”行并断开互联网连接(手动抛出错误)时,出现以下情况:
http://kepfeltoltes.hu/110711/hibaa_www.kepfeltoltes.hu_.png
 
我的问题是,为什么在第二种情况下例外不起作用?
 
也欢迎回答!
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 22:56:19 | 显示全部楼层
在Try中,您已将d声明为double,但为其分配了一个字符串:
 
  1. Try [color=red][i][b]   
  2.   Dim d As Double = "test"[/b][/i][/color]   
  3.   MsgBox("OK")   
  4.   Catch ex As Exception   
  5.   MsgBox("ERROR")
  6. End Try

 
试着先解决这个问题。
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 23:18:36 | 显示全部楼层
 
我故意这么做,是否应该捕捉异常。
回复

使用道具 举报

0

主题

127

帖子

130

银币

限制会员

铜币
-2
发表于 2022-7-6 23:21:28 | 显示全部楼层
尺寸d为双=“测试”
 
不应编译。。。因此,您将无法运行程序来测试错误。。。。。除非VB不是类型安全的。
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 23:36:46 | 显示全部楼层
 
但这在他的案例中起到了作用。我可以在AutoCAD中编译和运行。此时会出现msgbox错误消息,这是正常的。我想要这个。
 
有必要在他的案例中获得同样的结果。另一方面,链接的错误消息出现在那里,并且没有msgbox(与PROJECT1 his案例不同)。
 
这就是问题所在。但我同时意识到了解决方案:
 
不允许导入Autodesk。AutoCAD。运行时命名空间。然后捕捉异常就可以了。(也包括项目1和2)。
 
谢谢!
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 23:52:49 | 显示全部楼层
尝试更改此行:
  1. Catch ex As System.Exception
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:42 , Processed in 0.223289 second(s), 64 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表