赞 | 76 |
VIP | 0 |
好人卡 | 0 |
积分 | 97 |
经验 | 554 |
最后登录 | 2024-11-21 |
在线时间 | 570 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 9682
- 在线时间
- 570 小时
- 注册时间
- 2017-9-28
- 帖子
- 208
|
1. 修改 Main,在最后一个 end 前添加一段捕捉错误的代码:
- rescue Exception => e
- [email protected] if $@
- msg = ["#{e.class}: #{e.message}"]
- e.backtrace.each do |c|
- break if c[':1:']
- if c =~ /^(.+):(\d+)(?::in `(.*)')?$/
- file, line, code = $1, $2, $3
- next if file == __FILE__
- cd = Regexp.escape(File.join(Dir.getwd, ''))
- file = file.sub(/^#{cd}/, '')
- if inner = file =~ /^Section(\d+)$/
- id = $1.to_i
- file = "[#{$RGSS_SCRIPTS[id][1]}]"
- end
- code = code && ": #{code}"
- msg << " #{file} #{line}#{code}"
- else
- msg << " #{c}"
- end
- end
- print msg.join("\n")
复制代码 和本来就有的 rescue Errno::ENOENT 对齐放
2.修改 Interpreter 7,在 def command_355 对应的 end 前添加以下代码,方便输出报错事件的位置
- rescue Exception
- event = get_character(@event_id)
- print "Map: #{@map_id}, Event: #{@event_id} (#{event.x}, #{event.y})"
- raise
复制代码
效果大致如下:
|
评分
-
查看全部评分
|