小编Sau*_*ani的帖子

Moose :: Error :: Croak错误报告不是来自调用者的角度

我刚刚开始使用Moose及其一个伟大的OO框架,不仅可以使用,还可以学习新的OO概念.我想做的一件事就是在对象创建期间从调用者的角度进行错误报告.我看到Moose有模块Moose :: Error :: Croak,它告诉Moose通过croak调用覆盖默认的错误报告.我用它但它似乎没有帮助

驼鹿代码 - Foo.pm

package Foo;
use metaclass (
  metaclass => 'Moose::Meta::Class',
  error_class => 'Moose::Error::Croak',
);
use Moose;
has 'attr1' => (
  is => 'rw',
  isa => 'Str',
  required => '1',
);
no Moose;
1;
Run Code Online (Sandbox Code Playgroud)

驼鹿代码 - fooser.pl

#!/usr/bin/perl
use strict;
use warnings;
use Foo;
my $foobj = Foo->new();
Run Code Online (Sandbox Code Playgroud)

这失败并出现错误:/usr/local/lib/perl/5.8.8/Class/MOP/Class.pm第364行需要属性(attr1)

如果没有使用Moose :: Error :: Croak,它比实际的堆栈跟踪更简洁.但它不会从调用者的角度报告它.如果这是一个Perl 5 OO代码,我将Foo.pm作为:

package Foo;

use strict;
use warnings;
use Carp;

sub new { 
  my ($class, %args) = @_;
  my $self = …
Run Code Online (Sandbox Code Playgroud)

perl moose

7
推荐指数
1
解决办法
487
查看次数

调试 golang 可执行文件时无法获取 vscode 中的局部变量

我在 Golang 中创建了一个示例项目:

sampleapp/
sampleapp/main.go
Run Code Online (Sandbox Code Playgroud)

其中有以下代码:

package main

import (
    "flag"
    "fmt"
)

func main() {
    var name = flag.String("name", "user1", "user name")
    var age = flag.Int("age", 20, "user age")
    fmt.Println(*name)
    fmt.Println(*age)
}
Run Code Online (Sandbox Code Playgroud)

我按照https://code.visualstudio.com/docs/editor/debugging并创建了以下 launch.json

 {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch file",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/main.go",
            "env": {},
            "args": []
        },
        {
            "name": "Launch exec",
            "type": "go",
            "request": "launch",
            "mode": "exec",
            "program": "${workspaceFolder}/sampleapp",
            "env": {},
            "args": []
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我使用启动文件 …

go visual-studio-code vscode-debugger

3
推荐指数
1
解决办法
4226
查看次数

标签 统计

go ×1

moose ×1

perl ×1

visual-studio-code ×1

vscode-debugger ×1