我正在測試一些使用機械化下的Ruby代碼。我發現,當我在請求中傳遞錯誤的OAuth令牌時,Mechanize會引發意外的異常。爲什麼Mechanize在發現錯誤的OAuth憑證時提升「未定義的方法」?
我做我的壞令牌呼叫,呼叫引發以下異常:
#<NoMethodError: undefined method `any?' for nil:NilClass>
我有一些額外的分析,我會後作爲一個答案,但如果任何人有額外的洞察力它將不勝感激。
我試着把這個問題放在mechanize-users郵件列表上,但版主沒有發佈它。
是你的問題爲什麼'nil.any?'提出這個錯誤? – pguardiario
我的問題是 - 爲什麼機械發生意外行爲(引發一個無關的異常),當我發送帶有錯誤oauth標記的請求時? Mechanize擁有它需要的所有信息來告訴我令牌是不好的,但它引發了這個未定義的方法異常。我做了一些分析,我的最佳猜測是下面的第一個答案。但我真的很希望看到有人真正熟悉代碼來驗證或糾正。 – Bruce
誰在乎?如果它引發一個NoChallengesException異常可能會更好,但是你以相同的方式處理它,捕獲錯誤並處理它。 – pguardiario