Crystal 检查是否是类列表的子类

tpei

所以我想要做的是在运行时检查引发的错误是否是特定异常列表的子类。用户可以在运行时提交异常数组。

我以为我只是使用is_a?它,它可以按预期针对单个类工作。

class A < Exception; end
class B < A; end
class C < Exception; end
class D < Exception; end

begin
  raise B.new
rescue e
  puts e.is_a? A
end

但是如果我然后使用一组异常来检查,它就不再起作用了

monitored = [A, C]
begin
  raise B.new
rescue e
  monitored.each do |exception_class|
    puts e.is_a? exception_class
  end
end

我得到的错误是Syntax error in eval:24: expecting token 'CONST', not 'exception_class'第 24 行是puts e.is_a? exception_class.

puts typeof(exception_class)在循环中Exception:Class按预期打印

任何想法我在这里做错了什么?

tpei

显然,对于当前编译器实现的问题中提到的确切情况,这是不可能的:https : //github.com/crystal-lang/crystal/issues/2060#issuecomment-309711343

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Crystal 引发 Exception 的类

来自分类Dev

在Crystal中进行类型检查

来自分类Dev

如何检查元素是否是类列表中元素的子类

来自分类Dev

Wix自举。检查是否已安装SAP Crystal报告

来自分类Dev

Wix自举。检查是否已安装Sap Crystal报告

来自分类Dev

VS2012的Crystal Reports –是否免费?

来自分类Dev

哈希是否曾经用Crystal lang堆叠?

来自分类Dev

Crystal Reports是否支持安全(HTTPS)图像

来自分类Dev

检查父类是否是子类的实例

来自分类Dev

检查子类是否是父类的实例

来自分类Dev

检查类是否是特定泛型的子类

来自分类Dev

如何检查Crystal中使用的是哪个操作系统(OS)?

来自分类Dev

如何在Crystal中访问对象的本征类?

来自分类Dev

crystal.net中JobBuilder的Create方法中的类的实例

来自分类Dev

Crystal类中的<符号有什么用?

来自分类Dev

crystal.net中JobBuilder的Create方法中的类的实例

来自分类Dev

使用列表填充的数据集创建Crystal Report

来自分类Dev

在这种情况下,Crystal Reports是否可行?

来自分类Dev

检查类是否为类的子类而不实例化

来自分类Dev

如何检查类是否是 C# 中的子类?

来自分类Dev

检查A是否是B的子类?

来自分类Dev

Crystal Reports Server-获取当前正在运行的报表及其进度的列表

来自分类Dev

在razor应用程序中的Crystal报表中查看对象列表

来自分类Dev

使用C#中的循环将数组列表参数传递到Crystal Report

来自分类Dev

Crystal Lang,是否可以在不等待GC的情况下显式处置(释放)实例(对象)?

来自分类Dev

是否有更惯用的方式将json转换为Crystal中的特定哈希类型?

来自分类Dev

是否可以将默认的公式字段值保留在Crystal报表中?

来自分类Dev

适用于Visual Studio的Crystal Report Runtime Basic是否支持分配打印机?

来自分类Dev

Crystal Disk Info显示谨慎,重新分配扇区数,我是否需要担心?

Related 相关文章

  1. 1

    Crystal 引发 Exception 的类

  2. 2

    在Crystal中进行类型检查

  3. 3

    如何检查元素是否是类列表中元素的子类

  4. 4

    Wix自举。检查是否已安装SAP Crystal报告

  5. 5

    Wix自举。检查是否已安装Sap Crystal报告

  6. 6

    VS2012的Crystal Reports –是否免费?

  7. 7

    哈希是否曾经用Crystal lang堆叠?

  8. 8

    Crystal Reports是否支持安全(HTTPS)图像

  9. 9

    检查父类是否是子类的实例

  10. 10

    检查子类是否是父类的实例

  11. 11

    检查类是否是特定泛型的子类

  12. 12

    如何检查Crystal中使用的是哪个操作系统(OS)?

  13. 13

    如何在Crystal中访问对象的本征类?

  14. 14

    crystal.net中JobBuilder的Create方法中的类的实例

  15. 15

    Crystal类中的<符号有什么用?

  16. 16

    crystal.net中JobBuilder的Create方法中的类的实例

  17. 17

    使用列表填充的数据集创建Crystal Report

  18. 18

    在这种情况下,Crystal Reports是否可行?

  19. 19

    检查类是否为类的子类而不实例化

  20. 20

    如何检查类是否是 C# 中的子类?

  21. 21

    检查A是否是B的子类?

  22. 22

    Crystal Reports Server-获取当前正在运行的报表及其进度的列表

  23. 23

    在razor应用程序中的Crystal报表中查看对象列表

  24. 24

    使用C#中的循环将数组列表参数传递到Crystal Report

  25. 25

    Crystal Lang,是否可以在不等待GC的情况下显式处置(释放)实例(对象)?

  26. 26

    是否有更惯用的方式将json转换为Crystal中的特定哈希类型?

  27. 27

    是否可以将默认的公式字段值保留在Crystal报表中?

  28. 28

    适用于Visual Studio的Crystal Report Runtime Basic是否支持分配打印机?

  29. 29

    Crystal Disk Info显示谨慎,重新分配扇区数,我是否需要担心?

热门标签

归档